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.