Programmable Logic

Programmable Logic Device (PLD) is a type of Integrated Circuit (IC) that consists of dozens up to thousands of Logic Elements (LE) connected via an internal connection mesh (Fabric). How each LE is connected to each other and the outside world is determined by the code programmed into the chip. This allows PLDs to replace a few to hundreds of discrete logic ICs or even mimic complex chips such as microprocessors or video display controllers.

There are several classes of PLDs:

  • PLD (Programmable Logic Device) are the simplest devices usually consisting of 14 to 18 I/Os and 8 to 24 simple logic elements.
  • CPLD (Complex Programmable Logic Device) have more capability and consist of 20 to 60 I/Os and 16 to 512 Macro Cells (a more complex logic element).
  • FPGA (Field Programmable Gate Array) are the most complex PLDs and have the greatest flexibility. They usually consist of 25 to hundreds of I/Os and contain thousands to millions of logic elements along with other dedicated logic blocks such as memory, multipliers, PLLs and high speed serial encoders/decoders.

Here is a list of current PLDs that I have experience with along with some notable characteristics.

Altera Cyclone IV
Altera Cyclone V

Microchip ATF16V8
Manufacturer’s Web Page
Simple AND-Array input logic with flip-flop/registered outputs.
Up to 16 inputs and 8 outputs.
Reprogrammable
5V Power and 5V tolerant inputs.
Available in DIP, SOIC, TSOP and PLCC packages.

Microchip ATF22V10
Manufacturer’s Web Page
Simple AND-Array input logic with flip-flop/registered outputs.
Up to 21 inputs and 10 outputs.
Reprogrammable
5V Power and 5V tolerant inputs.
Available in DIP, SOIC, TSOP, PLCC and LCC packages.

Xilinx Spartan 6
XIlinx Spartan 7
Xilinx Artix 7
Xilinz Zynq 7000

There are far more available but I either don’t have experience with them or don’t even know they exists.

Here are some PLDs from the past that are no longer readily available but you just might come across them in some older digital logic designs.

Lattice GAL16V8

Microchip ATF20V8
Simple AND-Array input logic with flip-flop/registered outputs.
Up to 20 inputs and 8 outputs.
Reprogrammable
5V Power and 5V tolerant inputs.
Available in DIP, SOIC, TSOP and PLCC packages.