Beruflich Dokumente
Kultur Dokumente
Programmable Logic
Devices
5/5/17 1
Silicon Devices
Why HW/SW Co-design?
Hardware (ASIC, FPGA)
Fast
But very expensive
Software (Processor)
Flexible
But slow
Hardware + Software = Good
solution
5/5/17 2
Programmable Logic :
Gate Array
Programmable Logic Device (PLD, PLA,
PAL, ...)
AND-OR combinatorial logic, plus FF
designer writes Boolean equations
Small complexity only
Complex PLD (CPLD)
several PLD blocks
programmable interconnection
matrix
5/5/17 3
1. ASIC (Application-specific integrated
circuit)
2. Multi-chip module
3. Computer-on-module
4. SoP (System-on-Package )
5. SoPC (System on a Programmable Chip)
6. SoC (System on Chip)
7. Field Programmable Gate Arrays
(FPGAs)
a. What is a FPGA?
b. Xilinx Field Programmable Gate
Arrays (FPGAs)
c. National Instruments (NI) Field
Programmable Gate Arrays (FPGAs)
5/5/17 4
Digital Design Technologies
Digital
Design
Methodologies
5/5/17 5
5/5/17 6
Ease of Use
Full-custom
ICs
* Market Volume to Amortize
Standard
Cells
* Time to Prototype
FPGAs,
Gate Arrays
PLDs
1,000
PLD
100
10
10 100 1,000
Design Cycle / Man-Days
Gate Arrays
Fixed
Cost
Breakeven Volume
Qty
5/5/17 9
Discrete Gates and Cell-based and
Standard ICs Full-custom ASICs
5/5/17 10
Programmable Logic Device (PLD) or
Field Programmable Logic Device
(FPLD)
a generic term that refers to any
integrated circuit used for implementing
digital hardware, where the chip can be
configured by the end user to realize
different designs
fixed architecture but functionality
programmable for a specific application
5/5/17 11
PROM PROMs are not classified as
PLDs since they are mainly used
for storage and special-purpose
applications.
PLA, PAL
SPLD
CPLD FPGA
5/5/17 12
Gate Array
1. Each chip is prefabricated with an array
of identical gates or cells.
2. The chip is customized by fabricating
routing layers on top.
3. Time to market, cost
5/5/17 13
3 categories of PLDs:
1. SPLD (Simple Programmable Logic
Device)
PLA (Programmable Logic Array)
PAL (Programmable Array Logic)
Registered PAL
2. CPLD (Complex Programmable Logic
Device)
3. FPGA (Field Programmable Gate Array)
5/5/17 14
Programmable logic array (PLA)
5/5/17 15
PAL
o Programmable AND plane / Fixed OR
plane
o Finite combination of ANDs / ORs
o Medium logic density
o Low fuse count
o Faster than PLAs
5/5/17 16
Inputs
Fixed OR Plane
Outputs
Programmable Programmable Element
AND Plane (e.g. Metallic Fuse, UV EPROM Cell)
Fixed OR Plane D or T
Flip-flops
Programmable AND Plane
D Q
CLK
D Q
CLK
Clock
5/5/17 18
5/5/17 19
The features of the PLA were:
Two programmable ground planes
Any combination of ANDs/ORs
Sharing of AND terms across
multiple ORs
Highest logic density available to
user
High fuse count; slower than PALs
Programmable logic array
5/5/17 20
PAL (Programmable Array Logic)
The term Programmable Array Logic (PAL)
is used to describe a family of
programmable logic device semiconductors
used to implement logic functions in digital
circuits introduced by Monolithic Memories,
Inc. (MMI) in March 1978.[1] MMI obtained a
registered trademark on the term PAL for use
in "Programmable Semiconductor Logic
Circuits". The trademark is currently held by
Lattice Semiconductor.
5/5/17 21
5/5/17 22
PAL devices consisted of a small PROM core and
additional output logic used to implement
particular desired logic functions with few
components.
Using specialized machines, PAL devices
were "field-programmable". Each PAL device
was "one-time programmable" (OTP), meaning
that it could not be updated and reused after its
initial programming
5/5/17 23
PLA
o Two programmable planes: AND & OR
planes
o Any combinations of ANDs / ORs
o Sharing of AND terms across multiple
ORs
o High logic density
o High fuse count
o Slower than PALs
o Higher power dissipation than PALs
5/5/17 24
Inputs
Programmable
OR Plane
Programmable
AND Plane
5/5/17 26
AComplex Programmable Logic Device
(CPLD)is a combination of a fully programmable
AND/OR array and a bank of macrocells. The
AND/OR array is reprogrammable and can perform
a multitude of logic functions. Macrocells are
functional blocks that perform combinatorial or
sequential logic, and also have the added
flexibility for true or complement, along with
varied feedback paths.
Traditionally, CPLDs have used analog sense
amplifiers to boost the performance of their
architectures.
5/5/17 27
CPLDs feature:
Central global interconnect
Simple, deterministic timing
Easily routed
PLD tools add only interconnect
Wide, fast complex gating
Why Use a CPLD?
Ease of Design:
Lower Development Costs
More Product Revenue:
Reduced Board Area:
Cost of Ownership
Reliability
5/5/17 28
3 basic characteristics distinguish PLDs
from each other :
o architecture of basic functional units
o programmable interconnections
o programming technology
5/5/17 29
Architecture of PLDs
P[0]
in[0] out[0]
nxp P[1] pxm
in[1] out[1]
AND Array : OR Array
: :
:
: (Programmable) (Programmable) :
P[p-1]
in[n-1] out[p-1]
n inputs m outputs
p product terms
fromed from inputs
5/5/17 30
CPLD
o Each basic logic block is constructed
from registered PLDs
o Central, global interconnects
o Simple and deterministic timing
o Easily routed
o PLD tools add only interconnects
o Wide, fast complex gating
o Clock speed > 300MHz
5/5/17 31
PLD PLD PLD
Programmable
Interconnect
5/5/17 32
CPLD Block Structure
I/O
I/O
I/O Block
I/O Block
Block
Block
Interconnection
Interconnection Matrix
Matrix
I/O
I/O Block
Block
5/5/17 33
Clock Product Output
Logic Term Logic
Inputs Outputs
Array Sharing Macrocells
Dedicated Array * Registers
Inputs
5/5/17 34
FPGA
o a regular structure of configurable logic
blocks (or modules) and interconnects
o Channel-based routing
o Fine-grained configurable logic block
o Post-layout timing analysis required
o Tools more complex than CPLDs
o Fast register pipelining
5/5/17 35
Row 1
Channel
Row 3
I/O Channel
Row 4
Pads
5/5/17 36
Interconnect
Delay
Block
Delay
5/5/17 37
FPGA
o 2 basic types of FPGAs:
o Reprogrammable (SRAM-based)
o SRAM determines interconnects
o SRAM defines logic in Look Up Table
o OTP (One-time Programmable)
o Interconnect is anti-fuse
o Logic is traditional gates
5/5/17 38
Example:
Show how the PLD shown in Fig 2.1 can be
used to implement typical 2-input logic
functions: AND, OR, NAND, NOR, XOR and
XNOR.
Fig 2.1
5/5/17 39
Uses of Programmable Logic
Devices
3 main uses of PLDs:
Replacement of glue logic (random logic)
Implementing dedicated controller circuits
Implementing finite state machines (FSM)
Short Question:
What are the merits of PLDs when
compared with the discrete logic devices
(e.g. TTL 74XX) ?
5/5/17 40
Selection Criteria
Main factors to be considered when
choosing a PLD:
Process technology
Programming technology
reprogrammable vs OTP
UV EPROM, E2EPROM, RAM and Flash
Logic capacity
Dont miss the hidden factor:
utilization
It is a surprise if you can achieve a
utilization well over 70%.
5/5/17 41
Dedicated logic functions
E.g. Flip-flop types, I/O buffers,
macrocells
Timing characteristics & speed
requirements
Tpd, Tsetup, Thold, .
Power dissipation
Voltage requirements
E.g. 2.5V, 3.3V, 5V
I/O pins available
Packages
Special features
E.g. In-system
5/5/17 Programmability/Testability 42
Short Question:
What are the main constraints in PLD-
based design ?
5/5/17 43
PLD Design Flow & Tools
Design Capture
- schematics
- HDL-based file
Functional
Synthesis
SImulation
Timing
Device Fitting
Simulation
Device
In-circuit
Programming/
Testing
Downloading
Typical PLD Design
5/5/17 Flow
44
PLD Design Flow and Tools
CAD Tools are crucial to implementing
digital circuits in PLDs.
PLD vendors usually offer series of free
or low-cost CAD tools for users.
Examples:
ISE Webpack from Xilinx
MAX Plus from Altera
ispLEVER from Lattice Semiconductor
Warp from Cypress
5/5/17 45
Idea
Synthesis
Xilinx Synthesis Technology (XST)
Translate
NGDBuild
CPLD FPGA
Fitting Mapping
CPLD Fitter MAP/PAR
TestBench Simulate
HDL ModelSim
Bencher XE
5/5/17 46
Example:
A sequential circuit is implemented into a
PLD as in Fig 2.2.
(a) Identify the architecture of the PLD
device.
i) architectural type
ii) no. of inputs
iii)no. of outputs
iv)maximum number of product terms
available for each output
(b)
5/5/17
Write a logic equation for each
47
output.
R'
R R
S'
S S
Q2'
Q2
Q1'
Q1
D Q Q1
CLK
Q
D Q Q2
CLK
Q
D Q Q3
CLK
Q
O4
O5
CLOCK
5/5/17 48