VLSI UNIT-5
VLSI UNIT-5
VLSI UNIT-5
FPGA Design
FPGA Design flow
Design specification
Programming FPGA by
Behavioural description downloading the bit stream
RTL Description(HDL)
Bit stream
Functional verification
Placement & Routing
and testing
• CLB
• I/O Pads
• Interconnects
• Switch block
Configurable Logic Block (CLB)
FPGA Technologies
• SRAM technology.
• Anti fuse technology.
• EPROM/EEPROM technology.
SRAM programming Technology
SRAM Cell
• It most widely used FPGA programming technology.
It holds their data in FPGA memory.
• The output of the memory cell is directly connected
to another circuit and state of the memory cell
continuously controls the circuit being configured.
• Each combinational logic element requires many
programming bits and each programming
interconnection point requires its own bit.
Advantages
• SRAM based FPGA can be easily programmed
• SRAM based FPGA can be reprogrammed
during the system operation, providing
dynamically reconfigurable systems.
• The circuits used in the SRAM based FPGA can
be fabricated with standard VLSI process.
Disadvantages
• SRAM configuration memory burns a
noticeable amount of power, even when the
program is not changed.
• The bits in the SRAM are susceptible to theft.
• SRAM based FPGAs have to be configured
every time after power goes up and down.
Anti fuse technology
• Anti fuse is a one-time programmable.
• Fuses are permanently put in place.
• The anti-part of anti fuse comes from its
programming method.
• Instead of breaking a metal connection by
passing through a current through it, a link is
grown to make a connection.
• Programming is very slow because each anti
fuse must be programmed separately.
• Programming element is an anti fuse (high
impedance(open circuit) on low voltage and
low impedance (connection) on high voltage.
• Small area
• Non-volatile
• Irreversible( design errors can not be
corrected)
Advantages
• Antifuse technology is nonvolatile.Design
remain as it is even the power is down.
• Delays due to routing are very small.
• Anti fuse FPGAs tend to require lower power.
• Theft problem is not there in anti fuse
technology.
Disadvantages
• Anti fuse technology requires a complex
fabrication process.
• External programmer is required to program
or configure the design, after which the design
can not be changed.
EPROM/EEPROM technology
• Switch is disabled by injecting charge on the
gate using high voltage between gate and
drain.
• The charge is removed by UV light.
Reprogramming through exposure to UV light.
• Non volatile.
• Slower programming than SRAM.
Advantages
• No external permanent memory is needed to
program it at power up.
Disadvantages
• Extra processing steps
• Static power loss due to pull up resistor high
resistance.
FPGA Families
• FPGA families are
– Altera flex
– Spartan
– Virtex
FPGA Families
Altera flex
• Basic Architecture of ALTERA FLEX 8000
– Grid of Logic Array Block(LABs) each consisting of 8 independently
programmable Logic Elements(LEs)
– LABs are connected in rows & columns ,connected by FastTrack
Interconnect with Input-Output elements(IOEs) at the edges
– Ends of interconnect connected to each having
• bidirectional I/O buffer
• Flip-flop to register input or output
– Logic Element has
• 4 I/P LUT
• Programmable Register -has 4 low skew global clock ,clear or preset control
signals from Dedicated input ,I/O pin or Internal signal from LAB local
interconnect
• Dedicated Carry & cascade chains
– 4 signals common to each LE in a LAB
• 2 used as clocks
• 2 used for clear/preset control
XILINX XC4000
• Basic Architecture of
XC4000 consists of
• CLBs
• Local & Global routing
resources
• Programmable I/O buffers
• SRAM based memory
configuration
XC4000 CLB
• Each CLB consists of
– LUT
– Multiplexers
– Registers
– Path for control signal
• Each CLB contains 3 function generators (F,G,H)
– Each function generator is based on an LUT with 5ns delay
independent of function being implemented
– 2 Function generators(F & G) can generate any arbitrary function of 4
I/ps and third (H) can generate any Boolean functions of 3 I/Ps
– H function block can get inputs from either F & G LUTs or from
external inputs.
– The 3 Function generators are programmed to generate
• 2 different functions of 3 independent sets of variables-one function must be
registered with CLB
• An arbitary function of 5 variables
• An arbitary function of 4 variables together with some functions of 6 variables
• Some function of 9 variables
• Each CLB has 2 storage devices that can be configured as Edge
trigerred flipflops with common clock
– Storage elements get their inputs from function generators or from D
input
– The other elements can get an external input from H1 input
– Storage elements are driven by a global SR during power-up
• Function generators can also drive 2 outputs directly(X &
Y)and independently of the outputs of the storage elements
ARCHITECTURE :
• The programmable device is comprised of input/output blocks (IOBs) and
internal configurable logic blocks (CLBs).
– Programmable I/O blocks provide the interface between package pins and the
internal configurable logic.
– leading-edge I/O standards are supported by the programmable IOBs.
includes four major elements organized in a
regular array
Configurable Logic Blocks (CLBs) provide
functional elements for combinatorial and
synchronous logic, including basic storage
elements. BUFTs (3-state buffers) associated
with each CLB element drive dedicated
segmentable horizontal routing resources.
Block SelectRAM memory modules provide
large 18 Kbit storage elements of dual-port
RAM.
Multiplier blocks are 18-bit x 18-bit dedicated
multipliers.
DCM (Digital Clock Manager) blocks provide
self-calibrating, fully digital solutions for clock
distribution delay compensation, clock
multiplication and division, coarse- and fine-
grained clock phase shifting.
• A new generation of programmable routing resources called Active
Interconnect Technology interconnects all of these elements.
• The general routing matrix (GRM) is an array of routing switches.
• Each programmable element is tied to a switch matrix, allowing multiple
connections to the general routing matrix
• All programmable elements, including the routing resources, are controlled by
values stored in static memory cells. These values are loaded in the memory
cells during configuration and can be reloaded to change the functions of the
programmable elements.
Virtex-II Features
CLBs
• CLB resources include four slices and two 3-state buffers.
• Each slice is equivalent and contains:
– Two function generators (F & G)
– Two storage elements
– Arithmetic logic gates
– Large multiplexers
– Wide function capability
– Fast carry look-ahead chain
– Horizontal cascade chain (OR gate)
• The function generators F & G are configurable as 4-input look-up tables (LUTs), as 16-bit shift
registers, or as 16-bit distributed SelectRAM memory.
• The two storage elements are either edge-triggered D-type flip-flops or level-sensitive latches.
• Each CLB has internal fast interconnect and connects to a switch matrix to access general routing
resources.