CPLD
CPLD
Altera CPLD
Altera has developed three families of chips that fit within the CPLD category:
MAX 5000 MAX 7000, and MAX 9000
MAX 5000 represents an older technology that offers a cost effective solution, MAX 7000 series is widely used and offers stateof-the-art logic capacity and speed-performance. MAX 9000 is similar to MAX 7000, except that MAX 9000 offers higher logic capacity
It comprises
An array of blocks called Logic Array Blocks (LABs) Interconnect wires called a Programmable Interconnect Array (PIA) I/O Block
The PIA is capable of connecting any LAB input or output to any other LAB. A LAB can be thought of as a complex SPLD-like structure, and so the entire chip can be considered to be an array of SPLDs. MAX 7000 devices are available both based in EPROM and EEPROM technology Even with EEPROM, MAX 7000 chips could be programmable only out-of-circuit in a special-purpose programming unit; In 1996 Altera released the 7000S series, which is reprogrammable in-circuit.
A macrocell comprises a set of programmable product terms (part of an AND-plane) that feeds an OR-gate and a flip-flop. The flip-flops can be configured as D type, JK, T, SR, or can be transparent. The number of inputs to the OR-gate in a macrocell is variable. The OR-gate can be fed from any or all of the five product terms within the macrocell, and in addition can have up to 15 extra product terms from macrocells in the same LAB. This product term flexibility makes the MAX 7000 series LAB more efficient in terms of chip area because typical logic functions do not need more than five product terms, and the architecture supports wider functions when they are needed.
It consist of
Multiple 34V16 PAL-like blocks The interconnect called Central Switch Matrix
Chips range in size from 6 to 16 PAL blocks, which corresponds roughly to 2000 to 5000 equivalent gates and are in-circuit programmable. All connections in Mach 4 between one PAL block and another (even from a PAL block to itself) are routed through the Central Switch Matrix. Since all connections travel through the same path, timing delays of circuits implemented in Mach 4 are predictable.
It has 16 outputs and a total of 34 inputs (16 of which are the outputs fed-back), so it corresponds to a 34V16 PAL. there are two key differences between this block and a normal PAL:
There is a product term allocator between the AND-plane and the macrocells (the macrocells comprise an OR-gate, an EX-OR gate and a flip-flop) There is an output switch matrix between the OR-gates and the I/O pins.
Mach 4s combination of in-system programmability and high flexibility promote easy hardware design changes.
Lattice CPLD
Lattice offers a complete range of CPLDs, with two main product lines:
The Lattice pLSI The ispLSI
The ispLSI is in-system programmable. For both the pLSI and ispLSI products, Lattice offers three families that have different logic capacities and speed-performance.
1000 series 2000 series 3000 series.
The general structure of a Lattice pLSI or ispLSI device is indicated in Figure below
It consist of
GenericLogic Blocks (GLBs) Global Routing Pool (GRP). Output Routing Pool
The GRP is a set of wires that span the entire chip and are available to connect the GLB inputs and outputs together. All interconnections pass through the GRP, so timing between levels of logic in the Lattice chips is fully predictable, much as it is for the AMD Mach devices.
It consist of
multiple PAL-like blocks and A programmable interconnect matrix (PIM)
Within each PAL-like block, there is an AND-plane that feeds a product term allocator that directs from 0 to 16 product terms to each of 32 OR-gates In the feed-back path from the macrocell outputs to the PIM, there are 32 wires, this means that a macrocell can be buried (not drive an I/O pin) and yet the I/O pin that could be driven by the macrocell can still be used as an input.
It consist a collection of
PALlike blocks, called Configurable Function Blocks (CFBs), that each represents an optimized 24V10 PAL. Global Interconnect Matrix and I/O Blocks
One unique feature of this CPLD is that each PAL-like block, instead of being used for AND-OR logic, can be configured as a block of 10 nsec Static RAM.
CFB being used as a PAL and another configured as an SRAM In the SRAM configuration, the PAL block becomes a 128 word by 10 bit read/write memory. Inputs that would normally feed the AND plane in the PAL in this case become address lines, data in, and control signals for the memory. Flip-flops and tri-state buffers are still available when the PAL block is configured as memory.
In the FLASHlogic device, the AND-OR logic planes configuration bits are SRAM cells that are shadowed by EPROM or EEPROM cells. The SRAM cells are loaded with a copy of the nonvolatile EPROM or EEPROM memory when power is applied The SRAM cells control the configuration of the chip. It is possible to re-configure the chips in-system by downloading new information into the SRAM cells. The SRAM cells contents can be written back to the EEPROM, so that non-volatile re-programming (incircuit) is available.
Applications of CPLDs
implementing random glue logic to prototyping small gate arrays graphics controller LAN controllers UARTs Cache control
EEPROM or EPROM
Transistor is used as a programmable switch for CPLDs by placing the transistor between two wires in a way that facilitates implementation of wired-AND functions Transistors might be connected in an AND-plane of a CPLD An input to the AND-plane can drive a product wire to logic level 0 through an EPROM or EEPROM transistor, if that input is part of the corresponding product term For inputs that are not involved for a product term, the appropriate EPROM transistors are programmed to be permanently turned off.
SRAM-controlled switches
Fig shows two applications of SRAM cells:
For controlling the gate nodes of pass-transistor switches and To control the select lines of multiplexers that drive logic block inputs
The connection of one logic block to another through two pass-transistor switches, and then a multiplexer, all controlled by SRAM cells Whether an FPGA uses passtransistors or multiplexers or both depends on the particular product.
Antifuse as a Switch
Antifuses are originally opencircuits and take on low resistance only when programmed. Antifuses are suitable for FPGAs because they can be built using modified CMOS technology. The figure shows that an antifuse is positioned between two interconnect wires and physically consists of three sandwiched layers:
The top and bottom layers are conductors, and The middle layer is an insulator
When un programmed, the insulator isolates the top and bottom layers When programmed the insulator changes to become a low-resistance link PLICE uses Poly-Si and n+ diffusion as conductors and oxide as an insulator Other antifuses rely on metal for conductors, with amorphous silicon as the middle layer
Volatile No No
EEPROM
SRAM Antifuse
Yes, in circuit
Yes, in circuit No
No
Yes No
EECMOS
CMOS CMOS