On Mon, 29 Jan 2007 22:20:28 -0700, you wrote: >Paul Anderson wrote: > >>Here's a pretty basic question for the list. What is the difference >>between an FPGA and a CPLD? >> >> >That's a hard question to answer since the line is becoming more and >more blurred (see the MachXO we were discussing earlier). I'm also not >a FPGA expert by any means. > >FPGA=Lots of gates-10K on up, millions is not uncommon. Typically but >not always volatile - I.E. needs external flash to load it's "program", >which takes a bit (not immediate on). > >CPLD= typically onboard flash, immediate startup, relatively small >numbers of gates (1000 is pretty typical). > >Generally, a FPGA has enough gates that you can implement an entire >system in it. Many FPGA manufacturers now have entire software >microprocessor cores which run within the FPGA itself, where a typical >CPLD is useful for glue only. > >CPLDs seem to also have a more ridgid internal structure, whereas the >FPGA is more flexible in it's signal routing internally. > >Not sure if this helps but I really typically think of the CPLD as a PAL >on steroids, and the FPGA as a programmable ASIC. > >The MachXO I mentioned is one of those beasts where you can really think >of it as a small FPGA with the cost and nonvolatility benefits of a CPLD. > >-forrest Another common comparison is 'granularity' - an FPGA is closer to a sea of gates, with each gate being fairly simple , e.g. a 4-input lookup table or single register.. CPLDs typically contain a number of more complex macrocells - typically one or 2 registers with various internal routing options, with programmable interconnect between them. Larger FPGAs also often contain blocks of RAM - often dual-port, plus other useful blocks like multipliers. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist