GALs and PALs (was Re: [Free] Old Data Books (Australia))

Philip Pemberton classiccmp at philpem.me.uk
Wed Sep 5 13:20:30 CDT 2007


Chris M wrote:
>  So the benefits of pals/gals are not so much
> integration or a high degree of, but rather
> modification? You wouldn't want to, for instance,
> attempt a *reproduction* (of say a unobtainium piece
> of silicon) by using a bunch of galpals instead of an
> FPGA?

The main thing they're good for is squashing a few TTL chips worth of address 
decoding into a single chip. CPLDs are good for adding simple peripheral 
interfaces (e.g. I2C, SPI, IDE) to a microprocessor design. FPGAs are good for 
taking a board full of really fast logic and squashing the whole thing into a 
single chip. Admittedly a single chip that needs a beastly amount of power and 
a heatsink similar to those used on the old Pentiums, but a single chip 
nontheless.

>  How much does the typical programmer cost? Are they
> *easy enough* to build?

Very easy.
<http://www.philpem.me.uk/elec/galblast/>
Two 7407 buffers, a 74HC573 latch, a few passives and an MC34063-based switch 
mode voltage converter. The three-diode 3.3V "regulator" is dire and should be 
replaced with a proper LDO, which isn't difficult - +VE to where D2's anode 
would go, Vout to where D4's cathode would go, remove R25 and the ground point 
is the ground-facing side of R25. I'd also be sorely tempted to replace Q2 
with an N-channel enhancement-mode MOSFET (no voltage drop!), but that's 
entirely optional.

As presented, though, the design works fine. Just you might have to substitute 
some parts (especially the transistors) based on local availability. Just 
about any jellybean medium-power PNP transistor will do for Q2, and Q1 can be 
swapped for just about any NPN transistor (e.g. BC557, 2N3904) as it's used 
solely as an inverter for the LATCH signal.

The GALBlast software itself is a bit nasty, and only supports 8.3 filenames 
(despite being a 32-bit application), but it gets the job done. You'll need to 
install UserPort if you're running Win2K, XP or 2003, otherwise you'll get a 
"Privileged Instruction" fatal error from Windows, due to the OUT and IN (port 
I/O) instructions being limited to ring-0 (kernel mode) on the NT-based OSes. 
Userport allows port I/O, but also allows you to specify allowed port ranges 
(e.g. just the parallel ports) while blocking everything else.

-- 
Phil.                         |  (\_/)  This is Bunny. Copy and paste Bunny
classiccmp at philpem.me.uk      | (='.'=) into your signature to help him gain
http://www.philpem.me.uk/     | (")_(") world domination.



More information about the cctech mailing list