what are difference between SPLD, CPLD and FPGA

Discussion in 'General Electronics Chat' started by vead, Jun 17, 2014.

  1. vead

    Thread Starter Active Member

    Nov 24, 2011
    SPLD - simple programmable logic device
    CPLD - complex programmable logic device
    FPGA- field programmable gate array

    CPLD is programmable device which have microcell , switch matrix , functional block and its own chip memory
    FPGA contain array of gates , flip flop which can be program

    how they all are different in term of hardware ?
  2. mcgyvr

    AAC Fanatic!

    Oct 15, 2009
  3. AnalogKid

    Distinguished Member

    Aug 1, 2013
    Each device you list is more complex than the one above it, but in one sense they all do the same thing, just more and more of it.

    SPLD - small input gate array, no internal routing matrix, no I/O routing matrix, no internal exclusive or function, maybe output latches but if so, usually a common clock signal to latch all outputs. Small number of I/O pins.

    CPLD - the best part for most things (OK, a small editorial). Larger input gate array, a routing matrix between the gates and the macrocells, much more complex flip flop macrocell with many modes, true exclusive-or function, etc., a routing matrix between the macrocells and the I/O pins so you can assign any pin or pins to any cell. 32 to 512 macrocells (flipflops), over 100 I/O pins possible.

    FPGA - Larger part, physically and electronically. Based on lookup tables rather than a large gate array, thousands of cells possible, etc. More, bigger, faster big rother to the CPLD, but a very similar device in terms of its functions. Many FPGAs have an internal memory array, and have so many cells that you can use a group of them to emulate an industry standard microcontroller, like an 8051, within the chip. But, more money, more power, harder to program.

    vead likes this.