Programmable chip
固定功能To可变功能
1、连接可改变 2、任意功能可表达
Using a ROM as a PLD | Before PLDs were invented, read-only memory (ROM) chips were used to create arbitrary combinational logic functions of a number of inputs. Consider a ROM with m inputs (the address lines) and n outputs (the data lines). When used as a memory, the ROM contains 2m words of n bits each. | |
PLA | Main article: Programmable logic array | In 1970, Texas Instruments developed a
mask-programmable IC based on the
IBM read-only associative memory or ROAM. This device, the TMS2000, was
programmed by altering the metal layer during
the production of the IC. The TMS2000 had up to 17 inputs and
18 outputs with 8 JK flip flop for memory. TI coined the term
programmable logic array for this device.[2]
A programmable logic array (PLA) has a programmable AND gate array, which links to a programmable OR gate array, which can then be conditionally complemented to produce an output. |
PAL | Main article:
Programmable array logic
|
PAL devices have arrays of transistor cells arranged in
a "fixed-OR, programmable-AND" plane
used to implement
"sum-of-products" binary logic equations
for each of the outputs in terms of the inputs and either synchronous or
asynchronous feedback from the outputs. MMI introduced a breakthrough device in 1978, the programmable array logic or PAL. The architecture was simpler than that of Signetics FPLA because it omitted the programmable OR array. This made the parts faster, smaller and cheaper. They were available in 20 pin 300 mil DIP packages while the FPLAs came in 28 pin 600 mil packages. The PAL Handbook demystified the design process. The PALASM design software (PAL assembler) converted the engineers' Boolean equations into the fuse pattern required to program the part. The PAL devices were soon second-sourced by National Semiconductor, Texas Instruments and AMD. After MMI succeeded with the 20-pin PAL parts, AMD introduced the 24-pin 22V10 PAL with additional features. After buying out MMI (1987), AMD spun off a consolidated operation as Vantis, and that business was acquired by Lattice Semiconductor in 1999. |
GALs | Main article: Complex programmable logic device | An innovation of the PAL was the generic array logic
device, or GAL, invented by
Lattice Semiconductor in 1985. This device has the same logical
properties as the PAL but can be erased and reprogrammed. The GAL is
very useful in the prototyping stage of a design, when any
bugs in the logic can be corrected by reprogramming. GALs are
programmed and reprogrammed using a PAL programmer, or by using the
in-circuit programming technique on supporting chips. Lattice GALs combine CMOS and electrically erasable (E2) floating gate technology for a high-speed, low-power logic device. A similar device called a PEEL (programmable electrically erasable logic) was introduced by the International CMOS Technology (ICT) corporation. |
CPLDs | Main article:
Complex programmable logic device 最小项之和(DNF,sum of products) 最大项之积(CNF,products of sum) |
PALs and GALs are available
only in small sizes, equivalent to a few hundred logic gates.
For bigger logic circuits, complex PLDs or
CPLDs can be used. These contain the equivalent of several PALs
linked by programmable interconnections, all in one
integrated circuit. CPLDs can replace
thousands, or even hundreds of thousands, of logic gates. Some CPLDs are programmed using a PAL programmer, but this method becomes inconvenient for devices with hundreds of pins. A second method of programming is to solder the device to its printed circuit board, then feed it with a serial data stream from a personal computer. The CPLD contains a circuit that decodes the data stream and configures the CPLD to perform its specified logic function. Some manufacturers (including Altera and Microsemi) use JTAG to program CPLD's in-circuit from .JAM files. |
FPGAs | Main article: Field-programmable gate array | While PALs were busy developing into GALs and CPLDs (all
discussed above), a separate stream of development was happening. This
type of device is based on
gate array technology and is called the field-programmable gate
array (FPGA). Early examples of FPGAs are the 82s100 array, and 82S105
sequencer, by Signetics, introduced in the late 1970s. The 82S100 was an
array of AND terms. The 82S105 also had flip flop functions. FPGAs use a grid of logic gates, and once stored, the data doesn't change, similar to that of an ordinary gate array. The term "field-programmable" means the device is programmed by the customer, not the manufacturer. FPGAs are usually programmed after being soldered down to the circuit board, in a manner similar to that of larger CPLDs. In most larger FPGAs the configuration is volatile, and must be re-loaded into the device whenever power is applied or different functionality is required. Configuration is typically stored in a configuration PROM or EEPROM. EEPROM versions may be in-system programmable (typically via JTAG). The difference between FPGAs and CPLDs is that FPGAs are internally based on Look-up tables (LUTs) whereas CPLDs form the logic functions with sea-of-gates (e.g. sum of products). CPLDs are meant for simpler designs while FPGAs are meant for more complex designs. In general, CPLDs are a good choice for wide combinational logic applications, whereas FPGAs are more suitable for large state machines (i.e. microprocessors). |
参考:FPGA-CPLD基本结构及原理.ppt
一、PLD的编程技术
(1)熔丝(Fuse)和反熔丝(Anti-fuse)编程技术
(2)浮栅型电可写紫外线擦除编程技术
(3)浮栅型电可写电擦除编程技(E2PROM)
(4)SRAM编程技术
二、复杂可编程逻辑器件(CPLD)的基本原理
1.可编程逻辑阵列(LAB)
(1)乘积项共享结构
(2)多触发器结构
(3)异步时钟
2.可编程I/O单元(IOC)
3.可编程内部连线(PIA)
三、现场可编程门阵列(FPGA)的基本原理
1.可编程逻辑块(CLB)
2.输入/输出模块(IOB)
3.可编程互连资源(PIR)