BigEd wrote:
Most FPGAs (but not all) need an external EEPROM to hold the bitstream, and most FPGAs (I think) take a few milliseconds to load that bitstream at power-on. I think CPLDs behave much more like a conventional chip, that needs no support circuit and takes no time to start working after power-on.
I thought most if not all modern FPGAs just have the flash built-in and allow you to hook up an external flash if you feel like it. hmm, maybe that's less common than i assumed.
and the power up time of a few milliseconds is not really an issue if your use something like a DS1813, which pulls the System's reset line low for ~150ms anyways.
if you don't have one you can have the FPGA take control of the reset line, and put a pull down resistor on it. so during power up the FPGA's pins are in High-Z mode so the pull down will constantly reset the CPU, after the FPGA is booted up it can then pull the reset line high and allow the CPU to run.
but yea, due to CPLD's directly storing their configuration directly where they need it, they pretty much have no boot-up time at all.
BigEd wrote:
FPGAs will also, usually, be more expensive, but the main thing going for them is that they are (or can be) a great deal bigger on the inside. If you need the resources, you need the capacity.
Of course considerations like supply voltage, pin count, package style, availability, cost and speed will factor in to your decision too.
That's why i like the MachXO2 HC series. it comes in hand solderable package (TQFP), has roughly the same amount of IO as an ATF150x CPLD, and costs around the same as well (~10-15 USD), but of course it has a much much larger logic capacity.
downside is just the fact that they run at 3.3V, so you have to design your entire system around that, or only use the FPGA as an IO device (a VGA Card, Blitter, Co-Processor with a >100MHz Custom CPU, DMA Controller, etc) and connect it via level shifters to your System.
a much larger downside is that due to the current chip shortage it's pretty difficult to find any low cost and hobbyist friendly FPGAs from Lattice, Intel, or Xilinx that are still in stock and without inflated prices.
so CPLDs are almost the only options right now.