Академический Документы
Профессиональный Документы
Культура Документы
Overview
Why programmable logic? Programmable logic technologies Read-Only Memory (ROM) Programmable Logic Array (PLA) Programmable Array Logic (PAL) VLSI Programmable Logic Devices CPLD, FPGA
It is most economical to produce an IC in large volumes Many designs required only small volumes of ICs
made in large volumes programmed to implement large numbers of different low-volume designs
can be programmed outside of the manufacturing environment Most programmable logic devices are erasable and reprogrammable.
Allows updating a device or correction of errors Allows reuse the device for a different design - the ultimate in reusability! Ideal for course laboratories
Complete Intel Pentium designs were actually prototype with specialized systems based on large numbers of VLSI programmable devices!
Fuse makes or breaks link between two wires Typical connections are 50-300 ohm One-time programmable (testing before programming?) Very high density High power consumption Typical connections are 2K-4K ohm Fairly high density Memory bit controls a switch that connects/disconnects two wires Typical connections are .5K-1K ohm Can be programmed and re-programmed in the circuit Low density
RAM-based
Programmable Configurations
Read Only Memory (ROM) - a fixed array of AND gates and
a programmable array of OR gates Programmable Array Logic (PAL) - a programmable array of AND gates feeding a fixed array of OR gates. Programmable Logic Array (PLA) - a programmable array of AND gates feeding a programmable array of OR gates. Complex Programmable Logic Device (CPLD) /FieldProgrammable Gate Array (FPGA) - complex enough to be called architectures - See VLSI Programmable Logic Devices
reading supplement
Programmable Logic
Program a connection
Connect two wires Set a bit to 0 or 1 All rely on two-level logic minimization PROM connections - permanent EPROM connections - erase with UV light EEPROM connections - erase electrically PROMs
Program connections in the _____________ plane Program the connections in the ____________ plane Program the connections in the ____________ plane
PLAs
PALs
Programmable Connections
Programmable OR array
Outputs
Inputs
Programmable Connections
Fixed OR array
Outputs
Inputs
Programmable Connections
Programmable Connections
Programmable OR array
Outputs
(PROM) have:
Fixed AND array with 2Noutputs implementing all N-literal minterms. ProgrammableOR Array with M outputs lines to form up to M sum of
minterm expressions. A program for a ROM or PROM is simply a multiple-output truth table
If a 1 entry, a connection is made to the corresponding minterm for the corresponding output If a 0, no connection is made
lines) The fixed "AND" array is a X X X D7 decoder with 3 inputs and 8 D6 outputs implementing minterms. D5 X X X D4 The programmable "OR A2 D3 array uses a single line to A X D2 X X A1 D1 represent all inputs to an B X A0 D0 OR gate. An X in the C array corresponds to attaching the minterm to the OR Read Example: For input (A2,A1,A0) = 011, output is (F3,F2,F1,F0 ) = 0011. F3 F2 F1 F0 What are functions F3, F2 , F1 and F0 in terms of (A2, A1, A0)?
ROM guaranteed to implement any M functions of N inputs. PAL may have too few inputs to the OR gates.
Advantages For given internal complexity, a PAL can have larger N and M Some PALs have outputs that can be complemented, adding POS functions No multilevel circuit implementations in ROM (without external connections from output to input). PAL has outputs from OR terms as internal inputs to all AND terms, making implementation of multi-level circuits easier.
with fixed, 3-input OR terms What are the equations I 5 A for F1 through F4? F1=AB+C F2=ABC+AC+AB I 5B F3=? F4=?
1 2
X X X
F1
4 5 6
X X X X X X
X
F2
7 8 9
X X
X X X
F3
I3 5 C
10 11 12
X X X X
F4
I4
0 1 2 3 4 5 6 7 8 9
flexible having a programmable set of ANDs combined with a programmableset of ORs. Advantages
A PLA can have large N and M permitting implementation of equations that are impractical for a ROM (because of the number of inputs, N, required A PLA has all of its product terms connectable to all outputs, overcoming the problem of the limited inputs to the PAL Ors Some PLAs have outputs that can be complemented, adding POS functions
Disadvantage Often, the product term count limits the application of a PLA. Two-level multiple-output optimization reduces the number of product terms in an implementation, helping to fit it into a PLA.
14
C C B B A A
0 1 F1 F2
I/Os
PAL Block
PAL Block
I/Os
I/Os
PAL Block
PAL Block
I/Os
Clock/ Inputs
The CPLD is an array of PAL-like devices, interconnected by a switch matrix.
PAL in order to fully utilize the increased logic capacity and additional routing matrices of the device. The CPLD Macro cell although relatively similar to the PAL macro cell and has greater flexibility in routing its output to both I/O cells and switching matrix. The I/O cell controls both the input and output to and from the device.
Output Macrocell
I/O Cells
The CPLD architecture is more complex than the typical PAL in order to fully utilize the increase I/O logic capacity and additional routing matrices of the device.
Product Term Enable From Output Switch Matrix To Input Switch Matrix
Xilinx FPGAs -
FPGA
There are three FPGA models basically available 1. Altera
2. Actel 3. Xilinx
CLB
CLB
D Q
Vcc
Switch Matrix
Output Buffer
Pad
Input Buffer
CLB
CLB
Delay
Programmable Interconnect
C1 C2 C3 C4 H1 DIN S/R EC
S /R C ontrol
G4 G3 G2 G1
SD D Q
EC RD
F4 F3 F2 F1
SD D Q
H'
EC RD
F'
Xilinx FPGAs -
Xilinx FPGAs -
Switch Matrix
Xilinx FPGAs -
Xilinx FPGAs -
Xilinx FPGAs -
Xilinx FPGAs -
CLB
CL B
Cout
S3
C2
S2
C1
S1
C0
A3 B3 A2 B2
A1 B1 A0 B0 Cin
CLB S3 Cout
S2
CLB S1 C2
S0
Xilinx FPGAs -
Applications of FPGAs
Implementation of random logic
Prototyping
Easier changes at system-level (one device is modified) Can eliminate need for full-custom chips Ensemble of gate arrays used to emulate a circuit to be manufactured Get more/better/faster debugging done than with simulation One hardware block used to implement more than one function Functions must be mutually-exclusive in time Can greatly reduce cost while enhancing flexibility RAM-based only option Hardware dedicated to solving one problem (or class of problems) Accelerators attached to general-purpose computers
Reconfigurable hardware
Xilinx FPGAs -