[sci.electronics] PAL programming

andreww@uniwa.uwa.oz (Andrew John Williams) (05/08/91)

We are a couple of people thinking of designing a simple processor.
After some consideration, we thought we'd have a look at what PAL's
could do for us in terms of simplifying design.  Unfortunately we
don't have any experience with PALs, and in paticular we don't 
have any software to program them with.

Any advice on programming, or where to get hold of an assembler
would be greatly appreciated.

Evan & John (not andreww  :)
[And no, John does NOT want a Fish assembler]

bvs@BitBlocks.COM (Bakul Shah) (05/10/91)

andreww@uniwa.uwa.oz (Andrew John Williams) writes:

>We are a couple of people thinking of designing a simple processor.
>After some consideration, we thought we'd have a look at what PAL's
>could do for us in terms of simplifying design.  Unfortunately we
>don't have any experience with PALs, and in paticular we don't 
>have any software to program them with.

>Any advice on programming, or where to get hold of an assembler
>would be greatly appreciated.

Assuming cost of such tools is also a consideration, here are
some thoughts you may find useful.

You can choose from a number of different PAL programming
languages: ABEL, CUPL, PALASM, to name a few.  One inexpensive
solution is to buy PALASM-90 from AMD (under $100 i think).  Runs
on PC but doesn't run on Unix systems (Grr.....).  It does come
with a book, full of examples that will get you started.  You can
simulate the design, watch the simulated timing waveforms,
generate test vectors from the simulation, which a smart
programmer can use to check that a PLD is properly programmed.
PALASM-90 is much better than the old PALASM. CUPL & ABEL are
even easier to use and more powerfull but more expensive.  As
someone else noted, if you have access to tools that can simulate
the entire circuit, so much the better.  If you can't afford that,
careful simulation of individual PLDs can still provide plenty of
coverage.  Any way, do research into strengths/weaknesses of these
software packages if you can before buying.

PLD programmers are getting cheaper but you still have to Pay a
few hundred dollars for one.  All of them will handle standard
devices like 22V10, 16L8 etc and most of them handle most of the
currently available PLDs.

Reprogrammable PLDs like GALs (Lattice) or PALCEs (AMD) can be
cheaper in the long run for prototyping purposes.  They can be
reused 100 times or so.  Though, learn to deal with fast rise
times, ground bounce and other high speed circuit nuisances!

I find it easiest to first lay down the logic equations and
then partition them into various PLDs, leaving some pins unused
to allow for minor changes.

Finally, do use standard parts where appropriate as they are
significantly cheaper.  PLDs are great for state machines and
replacing glue logic but expensive for building registers.

>Evan & John (not andreww  :)
>[And no, John does NOT want a Fish assembler]

What is wrong with John?:)

Happy hardware hacking!

-- Bakul Shah
   bvs@BitBlocks.COM
   ..!{ames,apple,decwrl,pyramid,sun,uunet}!amdcad!light!bvs

PS: don't forget to stock up on PLD databooks/handbooks from various
vendors.  They have many useful tips in addition to PLD specs.