Software and Systems Engineering Standards: Verification and Validation of Sy...
CPLD & FPGA Architectures and Applications Guide
1. CPLD & FPGA ARCHITECTURES
AND
APPLICATIONS
Dr . Sudhir N. Shelke. Ph.D
Principal , Guru Nanak Institute of Technology, Nagpur
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 1 of 152
2. Classification of PLDs
• The classification of PLDs is given below.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 2 of 152
3. Simple Programmable Logic Device [SPLD]
• As the name suggests SPLD has a simple architecture. PROM is a
best example for SPLD.
• SPLD is capable of implementing hundreds of gates and normally
programmed by the user by using inexpensive programmers.
• The main limitation of SPLDs is their low logic capacities due to the
restricted nature of AND-OR planes.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 3 of 152
4. BASIC CIRCUIT OF PLD
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 4 of 152
6. Contd..
• There are three main types of SPLD
architectures
• (i).Programmable logic array (PLA), ii).Programmable array logic
(PAL) , and
(iii).sGeneric array of logic (GAL)
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 6 of 152
8. Contd…
• Two of the most popular SPLDs are the PALs produced by
Advanced Micro Devices (AMD) known as the 16R8 and
22V10.
• Both of these devices are industry standards and are
widely second-sourced by various companies.
• The name 16R8 means that the PAL has a maximum of
16 inputs (there are 8 dedicated inputs and 8
input/outputs), and a maximum of 8 outputs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 8 of 152
9. Contd…
• The “R” refers to the type of outputs provided
by the PAL and means that each output is
“registered” by a D flip-flop.
• Similarly, the “22V10” has a maximum of 22
inputs and 10 outputs. Here, the “V” means
each output is versatile and can be configured
in various ways, some configurations
registered and some not.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 9 of 152
10. Contd..
• Another widely used and second sourced
SPLD is the Altera Classic EP610.
• This device is similar in complexity to PALs,
but it offers more flexibility in the way that
outputs are produced and has larger AND-
and OR- planes.
• In the EP610, outputs can be registered and
the flip-flops are configurable as any of D, T,
JK, or SR.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 10 of 152
11. PLA- Programmable logic array
• The PLA consists of two programmable planes
AND and OR . The AND plane consists of
programmable interconnect along with AND gates.
• The OR plane consists of programmable
interconnect along with OR gates.
• Each of the inputs can be connected to an AND
gate with any of the other inputs by connecting the
crossover point of the vertical and horizontal
interconnect lines in the AND gate programmable
interconnect.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 11 of 152
12. Contd..
• Initially, the crossover points are not electrically
connected, but configuring the PLA will connect
particular cross over points together.
• The AND gate is seen with a single line to the
input. This view is by convention, but this also
means that any of the inputs (vertical lines) can be
connected. Hence, for four PLA inputs, the AND
gate also has four inputs. The single output from
each of the AND gates is applied to an OR gate
programmable inter connect.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 12 of 152
14. PROGRAMMABLE ARRAY LOGIC (PAL)
• The first programmable device was the programmable array
logic (PAL) developed by Monolithic Memories Inc(MMI).
• The Programmable Array Logic or PAL is similar to PLA, but
in a PAL device only AND gates are programmable. The OR
array is fixed by the manufacturer.
• This makes PAL devices easier to program and less expensive
than PLA. On the other hand, since the OR array is fixed, it is
less flexible than a PLA device.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 14 of 152
16. Block diagram of PAL
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 16 of 152
17. PAL contd..
• The PAL device. has n input lines which are fed to
buffers/inverters.
• Buffers/inverters are connected to inputs of AND gates through
programmable links. Outputs of AND gates are then fed to the
OR array with fixed connections
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 17 of 152
18. GAL-GenericArray Logic
• PAL and PLA devices are one-time programmable (OTP) based
on PROM, so the PAL or PLA configuration cannot be changed
after it has been configured.
• This limitation means that the configured device would have to
be discarded and a new device configured. The GAL, although
similar to the PAL architecture, uses EEPROM and can be
reconfigured.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 18 of 152
19. Contd…
• The Generic Array Logic (GAL) device was invented by Lattice
Semiconductor.
• The GAL was an improvement on the PAL because one device
was able to take the place of many PAL devices or could even
have functionality not covered by the original range. Its primary
benefit, however, was that it was erasable and re-programmable
making prototyping and design changes easier for engineers.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 19 of 152
20. Complex Programmable Logic Devices
(CPLDs)
• CPLDs were pioneered by Altera, first in their
family of chips called Classic EPLDs, and then
in three additional series, called MAX 5000,
MAX 7000 and MAX 9000.
• The CPLD is the complex programmable Logic
Device which is more complex than the SPLD.
• This is build on SPLD architecture and creates a
much larger design. Consequently, the SPLD can
be used to integrate the functions of a number of
discrete digital ICs into a single device and the
CPLD can be used to integrate the functions of
a number of SPLDs into a single device.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 20 of 152
21. Contd..
• CPLD architecture is based on a small number of
logic blocks and a global programmable
interconnect.
• Instead of relying on a programming unit to
configure chip , it is advantageous to be able to
perform the programming while the chip is still
attached to its circuit board.
• This method of programming is known is called
In-System programming (ISP). It is not usually
provided for PLAs (or) PALs , but it is available
for the more sophisticated chips known as
Complex programmable logic device.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 21 of 152
23. Contd…
• The CPLD consists of a number of logic
blocks or functional blocks, each of
which contains a macrocell and either
a PLA or PAL circuit arrangement.
• In the diagram eight logic blocks are
shown. The building block of the CPLD
is the macro-cell, which contains logic
implementing disjunctive normal form
expressions and more specialized logic
operations.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 23 of 152
24. Contd..
• The macro cell provides additional
circuitry to accommodate registered or
nonregistered outputs, along with signal
polarity control.
• Polarity control provides an output that is
a true signal or a complement of the true
signal.
• The actual number of logic blocks within
a CPLD varies ,the more logic blocks
available, the larger the design that can be
configured.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 24 of 152
25. Contd..
• In the center of the design is a global programmable
interconnect.
• This interconnect allows connections to the logic block
macrocells and the I/O cell arrays (the digital I/O cells of
the CPLD connecting to the pins of the CPLD package).
• The programmable interconnect is usually based on
either array-based interconnect or multiplexer-based
interconnect
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 25 of 152
27. Contd..
• Multiplexer-based interconnect uses digital
multiplexers connected to each of the
macrocell inputs within the logic blocks.
• Specific signals within the programmable
interconnect are connected to specific inputs
of the multiplexers.
• It would not be practical to connect all
internal signals within the programmable
interconnect to the inputs of all multiplexers
due to size and speed of operation
considerations.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 27 of 152
28. FIELD PROGRAMMABLE GATEARRAYS
• The concept of FPGA was emerged in
1985 with the XC2064TM FPGA family
from Xilinx .
• The “FPGA is an integrated circuit that
contains many (64 to over 10,000) identical
logic cells that can be viewed as standard
components.”
• The individual cells are interconnected by
a matrix of wires and programmable
switches.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 28 of 152
29. Contd..
• Unlike CPLDs (Complex Programmable Logic Devices) FPGAs
contain neither AND nor OR planes.
• The FPGA architecture consists of configurable logic blocks,
configurable I/O blocks, and programmable interconnect.
• Also, there will be clock circuitry for driving the clock signals
to each logic block, and additional logic resources such as
ALUs, memory, and decoders may be available.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 29 of 152
30. Contd..
• The two basic types of programmable
elements for an FPGA are Static RAM and
anti-fuses.
• Each logic block in an FPGA has a small
number of inputs and one output.
• A look up table (LUT) is the most
commonly used type of logic block used
within FPGAs.
• There are two types of FPGAs.(i) SRAM
based FPGAs and (ii) Anti-fuse
technology based(OTP).
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 30 of 152
32. Contd..
Every FPGA consists of the following
elements.
1. Configurable logic blocks(CLBs)
2. Configurable input output blocks(IOBs)
3. Two layer metal network of vertical and horizontal lines
for interconnecting the CLBS. Which are called
Programmable Interconnects.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 32 of 152
33. XILINX Logic CellArray(LCA)
• LCA is the novel architectural feature
introduced by XILINX in the year 1985 for
their FPGA devices. It is almost like a
proprietary or trade mark property of
XILINX implemented for FPGA devices.
• The XILINX LCA architecture consists of
three major Components. They are
1. Configurable Logic Blocks (CLBs)
2. Input / Output Blocks (lOBs) and
3. Programmable Interconnect.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 33 of 152
34. Contd…
• In addition, configuration memory is used to hold the
configuration program bits which control the configuration of
CLRM, IOBs and interconnect.
• This LCA architecture consists of an interior matrix of logic
blocks and a surrounding ring of I/O interface blocks.
• Interconnect resources occupy the channels between the rows and
columns of logic blocks and between the logic blocks and I/O
blocks. Like a microprocessor the LCA is a program driven logic
device.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 34 of 152
35. Contd..
• The functions of the LCA’s configurable
logic blocks and I/O blocks and their
interconnection are controlled by a
configuration program stored in an on-
chip memory.
• The configuration program is loaded
automatically from an external memory on
power-up or on command, or is
programmed by a microprocessor as part of
system initialization
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 35 of 152
36. Contd..
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
As shown below diagram the configuration
memory consists of a distributed array of
static memory cells.
During configuration the cell is written
through the data line and is read through
the data line during read back operation
Dr Sudhir Shelke Page 36 of 152
37. LCA-Architecture
• The core of the LCA is a matrix of identical
Configurable Blocks (CLBs).Each CLB contains
programmable combinational logic and storage
registers.
• The combinational logic section of the block is
capable of implementing any Boolean function of
its input variables.
• The registers can be loaded from the combinational
logic or directly from a CLB input the register
outputs can be inputs to the combinational logic
via an internal feedback path
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 37 of 152
39. Contd..
• The periphery of the Logic Cell Array is made up of user
programmable input/output blocks (IOBs).
• Each block can be programmed independently to be an input ,an
output or bi-directional pin with three state control. Inputs can be
programmed to recognize either TTL or CMOS thresholds.
• Each IOB also includes flip-flops that can be used to buffer
inputs and outputs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 39 of 152
40. Programmable Interconnect
• In FPGAs three types of metal resources are provided to fulfill
various network interconnect requirements. They are
1. General Purpose Interconnect
2. Direct Connection
3. Long lines (multiplexed busses and wide AND gates)
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 40 of 152
41. General Purpose Interconnect
• It consists of a grid of five horizontal and
five vertical metal segments located
between the rows and columns of logic and
IOBs.
• Each segment is the height or width of a
logic block.
• Switching matrices join the ends of these
segments and allow programmed
interconnections between the metal grid
segments of adjoining rows and columns.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 41 of 152
43. Contd...
• The switches of an un-programmed device
are all non-conducting.
• The connections through the switch matrix
may be established by the automatic routing
or by selecting the desired pairs of matrix
pins to be connected or disconnected.
• The interconnect buffers are available to
propagate signals in either direction on a
given general interconnect segment.
• These bidirectional (bidi) buffers are found
adjacent to the switching matrices, above and
to the right.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 43 of 152
44. Direct Interconnect
• Direct interconnect provides the most efficient implementation
of networks between adjacent CLBs or I/O Blocks. Signals routed
from block to block using the direct interconnect exhibit
minimum interconnect propagation and use no general
interconnect resources.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 44 of 152
46. Contd…
• Direct interconnect should be used to maximize the speed of
high-performance portions of logic.
• Where logic blocks are adjacent to IOBs, direct connect is
provided alternately to the IOB inputs (I) and outputs (O) on all
four edges of the die.
• The right edge provides additional direct connects from CLB
outputs to adjacent IOBs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 46 of 152
47. Long lines
• The Long lines bypass the switch matrices and
are intended primarily for signals that must
travel a long distance, or must have minimum
skew among multiple destinations.
• Long lines, run vertically and horizontally the
height or width of the interconnect area.
• Each interconnection column has three
vertical Long lines, and each interconnection
row has two horizontal Long lines.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 47 of 152
49. Contd…
• Two additional Long lines are located adjacent to the outer sets
of switching matrices.
• Long lines can be driven by a logic block or IOB output on a
column-by-column basis.
• This capability provides a common low skew control or clock line
within each column of logic blocks.
• Isolation buffers are provided at each input to a Long line and
are enabled automatically by the development system when a
connection is made.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 49 of 152
50. Technology Mapping for FPGA
• The high functionality of FPGA logic blocks presents new
challenges for logic synthesis. So,the technology mapping
provides a solution for FPGAs that use lookup tables to
implement combinational logic.
• Technology mapping is a process of transforming a technology
independent Boolean network into a technology dependent
network.
• For example a K input lookup table (LUT) is a
digital memory that can implement any Boolean
function of K variables
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 50 of 152
51. Contd..
• Technology mapping is the logic synthesis task that is directly
concerned with selecting the circuit elements used to implement
the optimized circuit.
• Previous approaches to technology mapping have focused on
using circuit elements from a limited set of simple gates.
• However such approaches are inappropriate for complex logic
blocks where each logic block can implement a large number of
functions
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 51 of 152
52. Library-Based Technology Mapping
• In library based mapping, gates or components are selected from a
technology library to implement a circuit.
• Hence it is also referred to as library binding. So, this method
generates a technology mapping for a given Boolean network
using a characterized cell library with the objective of cost
optimization or delay optimization
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 52 of 152
53. Contd..
• In this method the set of available circuit elements is
represented as a library of functions and the
construction of the optimized circuit is divided into
three sub problems
• (i). Decomposition, (ii). Matching and (iii) Covering.
• The original network is first decomposed into a
canonical representation that uses limited fan in
NAND nodes.
• This decomposition guarantees that there will be no
nodes in the network that are too large to be
implemented by any library element provided the
library includes NAND gates that reach the fan in
limit.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 53 of 152
54. contd..
• After decomposition the network is
partitioned into a forest of trees The
optimal sub circuit covering each tree is
constructed and finally the circuit covering
the entire network is assembled from these
sub circuits.
• To form the forest of trees, the
decomposed network is partitioned at fan
out nodes into a set of single output sub
networks.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 54 of 152
55. Contd..
• The major obstacle to applying library-
based technology mapping to LUT circuits
is the large number of different functions
that a K-input LUT can implement.
• The function implemented by a K-input
LUT is determined by the values stored in
its 2K memory bits. Since each bit can
independently be either 0 or 1, there are
22K different Boolean functions of K-
variables.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 55 of 152
56. contd..
• The major obstacle to applying library-based technology mapping
to LUT circuits is the large number of different functions that a
K-input LUT can implement.
• The function implemented by a K-input LUT is determined by
the values stored in its 2K memory bits. Since each bit can
independently be either 0 or 1, there are 22K different Boolean
functions of K- variables
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 56 of 152
57. Contd..
• For values of K greater than 3 the library required
to represent a K-input LUT becomes very large.
• The size of the library can be reduced by noting
that some patterns are equivalent after a.
permutation of inputs.
• The inversion of outputs or inputs, which is
trivially accomplished with a LUT, can also
produce equivalent ‘patterns.
• Another alternative is to use a partial library tuned
to take advantage of the network structure likely to
be produced by technology independent logic
optimization.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 57 of 152
58. LUT-based Technology Mapping
• The limitations of earlier technology mapping approaches
paved the way for the development of technology mapping
that deals specially with LUT circuits.
• The first LUT based technology mappers appeared in 90s. and
later improved for optimized delay performance of LUT
circuits by minimizing the number of levels of LUT in the final
circuit.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 58 of 152
59. Contd..
• In LUT based FPGAs (example XILINX FPGAs) the building
blocks are LUTs and Flip-Flops.
• In an LUT based FPGA chip the basic programmable logic
block is a K-input Look Up Table.(K-LUT) which can
implement any Boolean function of up to K- variables.
• The technology mapping in LUT based FPGA designs is to cover
a general Boolean Network using K-LUTs to obtain functionally
equivalent K-LUT network.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 59 of 152
60. Contd..
• The main objectives in LUT mapping are
(i).Cost optimal mapping i.e Minimizing the
number of LUTs and Minimizing the number of
CLBs
(ii) Delay optimal mapping i.e Minimizing the
number of LUT levels and Minimizing the delays
(including routing delays)
(iii).Maximizing the routability of the mapping
schemes.
• The LUT based technology can be implemented
using two types of algorithms .They are
• (a).The Area Algorithm and (b).The delay algorithm
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 60 of 152
61. MULTIPLEXER BASED TECHNOLOGY
MAPPING
• This Multiplexer based technology mapping is used in ACTEL
FPGAs and in recent Xilinx VIRTEX 6 FPGA devices .
• Because their logic block architectures are MUX based.
• In Actel based FPGAs ,the size of the Multiplexers is small and
suitable to achieve the objective of area optimization and
minimum delays.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 61 of 152
62. Contd..
• Circuits usually contain a large number of
multiplexers (MUXes).
• This is mainly true for circuits that are
automatically synthesized from high-level
descriptions.
• MUXes exist in the data-paths of circuits, where
they are used to route operands to operators. Also,
the control logic is frequently specified as a CASE
statement in HDL descriptions.
• MUXs arise as a result of a direct translation of
CASE statements in HDLs into a logic-level
description
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 62 of 152
63. Contd..
• The main objective behind this Mux based technology mapping
is ,describing a combinational circuit in terms of Boolean
equations and realize it using minimum number of basic blocks
of the target Mux based architecture and minimizing the delay
on the critical path.
• In this algorithm an appropriate base function ,a library of cells
and a set of pattern graphs are selected .
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 63 of 152
64. Contd…
• The advantages of MUX based technology mapping are it
generates optimal mappings, which are often much better than
those produced by conventional heuristic techniques.
• Moderately large circuits can be mapped optimally in a small
amount of time. Very large circuits can be mapped near-
optimally by partitioning the circuits and mapping each partition
individually
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 64 of 152
65. Programming Technologies
• There are a number of programming technologies that have been
used for reconfigurable architectures.
• Each of these technologies have different characteristics and
have significant effect on the programmable architecture.
Some of the well-known technologies are
(i).SRAM Based Programming Technology (ii).Flash
Programming Technology(EEPROM) , and (iii) Anti-fuse based
Programming Technology
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 65 of 152
66. SRAM-Based Programming Technology
• Static memory cells are the basic cells used for SRAM-based
FPGAs.
• Most commercial vendors like XILINX, Lattice and Altera
etc.use static memory (SRAM) based programming technology
in their devices.
• These devices use static memory cells which are divided
throughout the FPGA to provide configurability.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 66 of 152
67. Contd..
• There are two primary uses for the SRAM cells. Most of them
are used to set the select lines to multiplexers that steer
interconnect signals.
• The majority of the remaining SRAM cells are used to store the
data in the lookup-tables (LUTs) that are typically used in
SRAM-based FPGAs to implement logic functions.
• Historically, SRAM cells were used to control the tri-state
buffers and simple pass transistors that were also used for
programmable interconnect.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 67 of 152
68. • SRAM-based programming technology has become the dominant
approach for FPGAs because of its re-programmability and the
use of standard CMOS process technology and therefore leading
to increased integration, higher speed and lower dynamic power
consumption of new process with smaller geometry.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 68 of 152
69. Contd..
• There are however a number of drawbacks
associated with SRAM-based programming
technology.
• For example an SRAM cell requires 6
transistors which makes this technology costly
in terms of area compared to other
programming technologies.
• Further SRAM cells are volatile in nature and
external devices are required to permanently
store the configuration data.
• These external devices add to the cost and area
overhead of SRAM-based FPGAs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 69 of 152
70. Flash Programming Technology
• An important alternative to the SRAM-based
programming technology is the use of flash or
EEPROM based programming technology. This
technology inject charge onto a gate that “floats”
above the transistor.
• This approach is used in flash or EEPROM
memory cells. These cells are non-volatile; they
do not lose information when the device is
powered down.
• With modern IC fabrication processes, it has
become possible to use the floating gate cells
directly as switches.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 70 of 152
71. Contd..
• Flash memory cells, in particular, are now
used because of their improved area
efficiency.
• The widespread use of flash memory cells
for non-volatile memory chips ensures that
flash manufacturing processes will benefit
from steady decreases in process
geometries.
• Flash-based programming technology
offers several advantages. For example, this
programming technology is nonvolatile in
nature.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 71 of 152
72. • Flash-based programming technology is
also more area efficient than SRAM-based
programming technology.
• Flash-based programming technology has
its own disadvantages also.
• Unlike SRAM-based programming
technology, flash based devices cannot be
reconfigured/reprogrammed an infinite
number of times.
• Also, flash-based technology uses non-
standard CMOS process.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 72 of 152
73. Contd..
• This flash-based programming technology offers several unique
advantages, most importantly non-volatility.
• This feature eliminates the need for the external resources
required to store and load configuration data when SRAM-based
programming technology is used.
• Additionally, a flash-based device can function immediately upon
power-up instead of having to wait for the loading of
configuration data.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 73 of 152
74. Contd..
• The flash approach is more area efficient than SRAM-based
technology which requires up to six transistors to implement the
programmable storage.
• The programming circuitry, such as the high and low voltage
buffers needed to program the cell, contributes an area overhead
not present in SRAM-based devices.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 74 of 152
75. Contd..
• In devices from Altera, Xilinx and Lattice, on-chip flash
memory is used to provide non-volatile storage while SRAM
cells are still used to control the programmable elements in the
design.
• This addresses the problems associated with the volatility of
pure-SRAM approaches, such as the cost of additional storage
devices or the possibility of configuration data interception,
while maintaining the infinite re-configurability of SRAM-
based devices
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 75 of 152
76. Anti-fuse Programming Technology
• An alternative to SRAM and floating
gate-based technologies is anti fuse
programming technology.
• This technology is based on structures
which exhibit very high-resistance
under normal circumstances but can be
programmably “blown” (in reality,
connected) to create a low resistance
link.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 76 of 152
77. Contd..
• An anti-fuse is a two terminal device with an
unprogrammed state presenting a very high resistance
between its terminals.
• When a high voltage (from 11 to 20 volts, depending on the
type of anti-fuse) is applied across its terminals the anti-
fuse will blow and create a low resistance link.
• This link is permanent.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 77 of 152
78. • Programming an anti-fuse requires extra
circuitry to deliver the high
programming voltage and a relatively
high current of 5 mA or more.
• This is done in through fairly sizable
pass transistors to provide addressing to
each anti-fuse. Anti-fuse technology is
used in the FPGA’s from Actel , Quick
logic , and Cross point
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 78 of 152
79. Contd..
• A major advantage of the anti-fuse is its
small size, little more than the cross-
section of two metal wires.
• But this advantage is limited by the large
size of the necessary programming
transistors, which handle large currents,
and the inclusion of isolation transistors
that are sometimes needed to protect low
voltage transistors from high programming
voltages.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 79 of 152
80. Contd..
• A second major advantage of an anti-fuse is its relatively low
series resistance.
• The on-resistance of the ONO anti-fuse is 300 to500 ohms, while
the amorphous silicon anti-fuse is 50 to100 ohms.
• Additionally, the parasitic capacitance of an un programmed
amorphous anti-fuse is significantly lower than for other
programming technologies
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 80 of 152
81. Contd..
• The limitations of this technology are , this technology does not
make use of standard CMOS process.
• Also, anti-fuse programming technology based devices cannot be
reprogrammed.
• The ideal technology should be re-programmable, non-volatile,
and that uses a standard CMOS process.
• But it is clear that none of the above technologies satisfy these
conditions
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 81 of 152
82. Comparison of Programming Technologies
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Inspites of all the advantages and disadvantages, the
SRAM-based programming technology is the most
widely used programming technology. The main
reason is its use of standard CMOS process .Due to
this reason it is expected that this technology will
continue to dominate the other two programming
technologies Dr Sudhir Shelke Page 82 of 152
83. XILINX XC3000 FPGADevice
• Xilinx introduced the first FPGA family, called the XC2000
series, in 1984 and next offered three more series of FPGAs
namely XC3000, XC4000, and XC5000 etc.
• XC3000 series of FPGA devices were introduced in 1985 by
XILINX Inc.
• This was the most successful family of FPGAs. The XC3000
archtecture includes enhancements to the XC2000 architecture to
improve performance ,density and usability.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 83 of 152
84. Contd..
• The XC3000 Family covers a range of nominal device densities
from 2,000 to 9,000 gates, practically achievable densities from
1,000 to 6,000 gates with up to 144 user-definable I/Os.
• The XC3000 Configurable Logic block is substantially larger
than XC2000 and Each of the lookup tables has four inputs and
requires 16 bits of configuration memory.
• There are now four distinct families within the XC3000 Series
of FPGA devices
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 84 of 152
85. XC3000 Family of Devices
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
The basic LCA (Logic Cell Array) of XC3000
consists of three components .They are
Programmable I/O Blocks , Configurable Logic
Block and Programmable Interconnect. In addition
to this a small amount of configurable memory is
also present Dr Sudhir Shelke Page 85 of 152
86. Programmable I/O Block
• The I/O Block of the XC3000 is more complex than the XC2000 ,
IOB. The important addition in this is a flip-flop in the out-put
path
• By registering the data in IOB ,the clock to-out- time does to
include interconnect delays.
• Each user-configurable IOB provides an interface between the
external package pin of the device and the internal user logic.
Each IOB includes both registered and direct input paths
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 86 of 152
88. Contd..
• Each IOB includes input and output storage elements and I/O
options selected by configuration memory cells.
• A choice of two clocks is available on each die edge. The
polarity of each clock line (not each flip-flop or latch) is
programmable.
• Each input circuit also provides input clamping diodes to provide
electrostatic protection, and circuits to inhibit latch-up produced
by input currents.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 88 of 152
89. Configurable Logic Block(CLB)
• The XC3000 CLB is substantially larger than the XC2000 CLB.
• Each of the look-up tables has four inputs rather than three and
hence requires sixteen bits of configuration memory rather than
eight.
• The lookup tables can be combined with a multiplexer to
produce any function of five inputs and some functions of up to
seven inputs
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 89 of 152
90. • The XC3000 CLB has two flip-flops ,to ensure that all
combinational logic can be followed by a pipelining flip-flop.
• The register rich CLB allows the XC3000 to implement state
intensive applications and heavily pipe lined designs efficiently.
• Each CLB has a combinatorial logic section, two flip-flops, and an
internal control section. The CLB has five logic inputs (A, B, C, D
and E)
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 90 of 152
92. Contd..
• Data input for the flip-flops within a CLB is supplied from the
function F or G outputs of the combinatorial logic, or the block
input, DI.
• Both flip-flops in each CLB share the asynchronous RD which,
when enabled , is dominant over clocked inputs.
• All flip-flops are reset by the active-Low chip input, RESET, or
during the configuration process.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 92 of 152
93. Programmable Interconnect
• Programmable-interconnection resources in the
Field Programmable Gate Array provide routing
paths to connect inputs and outputs of the IOBs
and CLBs into logic networks.
• Interconnections between blocks are composed of
a two-layer grid of metal segments.
• Specially designed pass transistors, each
controlled by a configuration bit, form
programmable interconnect points (PIPs) and
switching matrices used to implement the
necessary connections between selected metal
segments and block pins.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 93 of 152
94. Contd..
• The XC3000 interconnect structure has five general interconnect
lines both vertically and horizontally .
• In addition each CLB has direct connections to adjacent CLBs
both vertically and horizontally.
• Three types of metal resources are provided to accommodate
various network interconnect requirements.
• General Purpose Interconnect
• Direct Connection
•Long lines (multiplexed busses and wide AND gates)
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 94 of 152
96. XILINX XC4000 FPGADevice
• The XC4000 was designed to improve performance
and gate density for large designs.
• Several dedicated features were added to the general
purpose logic features of XC3000 , resulting an
interesting combination of special -purpose and
general purpose functions.
• The XC4000 family was designed using placement
and routing tools to evaluate architectural decisions.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 96 of 152
97. The basicbuilding blocks in the XC4000
family
• Look-up tables for implementation of logic functions.
• A designer can use a function generator to implement
any Boolean function of a given number of inputs by
pre-loading the memory with the bit pattern
corresponding to the truth table of the function.
• All functions of a function generator have the timing
,the time to look-up results in the memory.
• Therefore ,the inputs to the function generator are fully
interchangeable by simple rearrangement of the bits in
the look-up table.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 97 of 152
98. Contd..
• A Programmable Interconnect Point(PIP) is a pass transistor
controlled by a memory cell.
The PIP is the basic unit of configurable interconnect
mechanism.
• The wire segments on each side of the transistor are connected
depending on the value in the memory cell.
• The pass transistor introduces resistance into the interconnected
paths and hence delay occurs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 98 of 152
99. Advanced Features of the XC4000
FPGAs
1. CLBs can be used as on-chip RAM
2. Fast carry chain for high speed implementation of
arithmetic
3. Boundary scan compatibility (JTAG)
4. Wide decode logic, More global clocks
5. Faster placement and routing algorithms
6. Scaled routing resources.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 99 of 152
100. Configurable Logic Block (CLB)
• The XC4000 CLB is similar to the XC3000CLB. It
contains three lookup tables and two flip-flops.(F,G
&H)
• The two primary look-up tables F & G implement
any function of four variables.
• These two results can be brought out of the block
independently or they can be combined with
another input in the H –look up table to make any
function of five inputs or some function of up to
nine inputs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 100 of 152
101. Contd..
• The XC3000 can implement arithmetic with sum
in one look-up table and carry in another look-up
table.
• The XC4000 CLB can implement arithmetic in this
way also, but as the speed of the arithmetic
operation is dominated by the speed of the carry
chain ,the XC4000 CLB includes dedicated high
speed carry logic.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 101 of 152
103. XC4000 I/O BLOCK
• The signals to be output from the chip can be registered before
output and enabled by a separate control signal.
• Outputs can be optionally pulled up or down and the output
driver can be configured with either fast or or slow slew rate.
• Inputs from the pad can be brought into the interior of the chip
directly ,registered or both to facilitate multiplexed bus
interfaces
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 103 of 152
104. Contd..
• The XC4000IOB includes boundary scan logic compatible with
the ANSI EEE1149.1 (JTAG) boundary scan standard.
• The boundary scan can check internal logic or external logic.
• Scan operation can take place before and after the FPGA is
programmed and do not interfere with the operation of the part.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 104 of 152
105. Interconnect Structure
• The XC4000 interconnect is arranged in horizontal
and vertical channels.
• Each channel contains some number of short wire
segments that span a single CLB (the number of
segments in each channel depends on the specific
part number), longer segments that span two CLBs,
and very long segments that span the entire length
or width of the chip.
• Programmable switches are available to connect the
inputs and outputs of the CLBs to the wire
segments, or to connect one wire segment to
another..
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 105 of 152
107. Contd..
• The salient feature about the Xilinx interconnect is that signals
must pass through switches to reach one CLB from another, and
the total number of switches traversed depends on the particular
set of wire segments used.
• Thus, speed-performance of an implemented circuit depends in
part on how the wire segments are allocated to individual signals
by CAD tools.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 107 of 152
108. Actel FPGAs
• In contrast to XILINX FPGAs the devices manufactured by
Actel are based on anti fuse technology.
• Actel offers three main families .They are : Act 1, Act 2, and
Act 3.
• Actel devices are based on a structure similar to traditional gate
arrays; the logic blocks are arranged in rows and there are
horizontal routing channels between adjacent rows.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 108 of 152
109. LOGIC BLOCK –ACTEL FPGA
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 109 of 152
110. Contd..
• The logic blocks in the Actel devices are relatively small in
comparison to the LUT based ones. , and are based on
multiplexers.
• It comprises an AND and OR gate that are connected to a
multiplexer based circuit block.
• The multiplexer circuit is arranged such that, in combination
with the two logic gates, a very wide range of functions can be
realized in a single logic block.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 110 of 152
111. Contd..
• Actel’s interconnect is organized in horizontal
routing channels.
• The channels consist of wire segments of various
lengths with anti-fuses to connect logic blocks to
wire segments or one wire to another.
• Also, Actel chips have vertical wires that overlay
the logic blocks, for signal paths that span multiple
rows.
• In terms of speed-performance, it is evident that
Actel chips are not fully predictable, because the
number of anti-fuses traversed by a signal depends
on how the wire segments are allocated during
circuit implementation by CAD tools.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 111 of 152
112. Quicklogic pASIC FPGAs
• The Quicklogic is the main competitor for Actel in
anti-fuse -based FPGAs .
• It produces two families of devices, called pASIC
and pASIC-2. The pASIC-2 is an enhanced version
of pASIC.
• The pASIC, consists of a regular two-dimensional
array of blocks called pASIC Logic Blocks (pLBs).
• The logic capacities of first generation of Quick
Logic FPGAs is between 48 and 380pLBs,or 500 to
4000 equivalent MPGAs gates.s
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 112 of 152
113. Contd..
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
As shown in figure below pASIC has similarities to
other FPGAs i.e the overall structure is array-based
like Xilinx FPGAs, and logic blocks use multiplexers
similar to Actel FPGAs, and the interconnect consists
of only long- lines like in Altera FLEX 8000.
Dr Sudhir Shelke Page 113 of 152
114. Contd..
• pASIC’s multiplexer-based logic block is shown in
below figure. It is more complex than Actel’s Logic
Module, with more inputs and wide (6-input) AND-
gates on the multiplexer select lines. Every logic block
also contains a flip- flops.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 114 of 152
115. Altera FLEX 8000 and FLEX 10000 FPGAs
• The first FPGA chips from Aletra were simple arrays of logic
cells ,which are relatively simple logic elements (LEs),each
element comprising of a three input look-up table (LUT ) to
generate logic functions ,a single configurable flip-flop and
multiplexers for routing the signals and selecting clocks.
• The logic cells were connected by switch boxes instead of fixed
interconnect. The general architecture of Altera’s FPGAs is
shown in the next slide.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 115 of 152
116. Architecture of ALTERA FPGA
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 116 of 152
117. • There are two high performance FPGA series called FLEX series.
• Altera’s FLEX 8000 series consists of a three-level hierarchy similar
to CPLDs.
• However, the lowest level of the hierarchy consists of a set of
lookup tables, rather than an SPLD like block, and so the FLEX
8000 is categorized here as an FPGA.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 117 of 152
118. Contd..
• The architecture of FLEX 8000 is shown in next slide.
• The basic logic block, called a Logic Element (LE) contains a
four-input LUT, a flip-flop, and special-purpose carry circuitry
for arithmetic circuits (similar to Xilinx XC 4000).
• The LE also includes cascade circuitry that allows for efficient
implementation of wide AND functions
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 118 of 152
119. Architecture ofAltera FLEX 8000 FPGA
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 119 of 152
120. contd..
• A major difference between FLEX 8000 and Xilinx chips is that
Fast Track consists of only long lines. This makes the FLEX
8000 easy for CAD tools to automatically configure.
• All Fast-Track wires horizontal wires are identical, and so
interconnect delays in the FLEX 8000 are more predictable than
FPGAs that employ many smaller length segments because there
are fewer programmable switches in the longer paths.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 120 of 152
121. contd..
• Predictability is furthered aided by the fact that connections
between horizontal and vertical lines pass through active buffers.
• The FLEX 8000 architecture has been extended in the state-of-
the-art FLEX 10000 family.
• FLEX 10000 offers all of the features of FLEX 8000, with the
addition of variable-sized blocks of SRAM, called Embedded
Array Blocks (EABs) which shows that each row in a FLEX
10000 chip has an EAB on one end.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 121 of 152
122. Concurrent Logic FPGADevice
• The manufacturer Concurrent Logic offers the CFA6006 FPGA
device ,which is based on two dimensional array of identical
blocks ,where each block is symmetrical on its four sides.
• The array holds 3136 of such blocks ,providing a total logic
capacity of about 5000 equivalent gates.
• Connections are formed using multiplexers that are configured
by a static RAM programming technology.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 122 of 152
123. Contd..
• The structure of the Concurrent Logic Block is shown in the next
slide.It comprises of user configurable multiplexers, basic gates
and a D type flip-flop .
• The concurrent FPGA is especially suitable for register-intensive
and arithmetic applications since the logic block can easily
implement a half-adder and a register bit.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 123 of 152
124. Structure of the Concurrent Logic Block
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 124 of 152
125. Crosspoint Solutions FPGAs
• The crosspoint FPGAs are different from other FPGAs because
it is configurable at the transistor level as aoposed to logic block
level in other FPGAs.
• Basically the architecture consists of rows of transistor pairs
,where the rows are separated by horizontal wiring segments .
• Veritical wiring segments are also available ,for connection
among the rows
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 125 of 152
126. Contd..
• Each transistor row comprises two lines of series connected
transistors ,with one line being NMOS and the other PMOS .
• The wiring resources allow individual transistor pairs to be
interconnected to implement CMOS logic gates.
• The programming technology used for the programmable
switches is similar to the Via-Link anti-fuse ,which is based on
amorphous silicon.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 126 of 152
127. Contd..
• The structure of the transistor pair rows is
shown in the next slide.
• The diagram shows the implementation of a
NOR gate and a NAND gate using the
transistor lines.
• The transistor gates ,drains , sources can be
programmable interconnected to other
transistors and also to power and ground.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 127 of 152
128. Structure of the Transistor Pair
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
The series connections across the lines is broken where
necessary by permanently holding a transistor in its
OFF state. A wide range of logic gates can be
implemented by the transistor lines and the
interconnection patterns.
Dr Sudhir Shelke Page 128 of 152
129. contd..
• The FPGAs currently offered by Crosspoint Solutions has a
total logic capacity of 4200 gates.
• The chip has 256 rows of transistor pairs and an additional 64-
rows of multiplexer like structures are provided.
• With its rows based architecture ,anti-fuse programming
technology and multiplexers ,the Crosspoint FPGAs are most
similar to those of Actel FPGAs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 129 of 152
130. ALGOTRONIX CAL-1024
• This design has a two-dimensional mesh array structure which
resembles the gate array “sea of gates” architecture .
• Like the Xilinx architecture, Algotronics used Static RAM
programming technology to specify the function performed by
each logic cell and to control the switching of connections
between cells.
• The CAL1024 design contains 1024 identical logic cells
arranged in a 32 X 32 matrix.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 130 of 152
131. contd..
• The design is considered to be a mesh-connected architecture since
each cell is directly connected to its nearest north, south, east, and
west neighbors.
• In addition to these direct connects, two global interconnect signals
are routed to each cell to distribute clock and other “low skew
requirement” control signals.
• Figure in next slide shows the basic array architecture, indicating
both nearest neighbor and global connections to the logic cells.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 131 of 152
133. contd..
• The basic building block of the Algotronix design is a configurable
cell containing multiplexers and a function unit.
• As indicated in the figure , the function unit is preceded by
multiplexers which select the source for the X1 and X2 inputs.
• The function unit is capable of generating any logic function of the
two inputs, or of operating as a D-type latch.
• There are four additional multiplexers which select the function
output or one of the external inputs for routing to each of the four
outputs (north, south, east, and west).
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 133 of 152
135. FPGADesign Flow
• The earlier PLD and FPGA designs were performed largely by
hand But to-days complex programmable logic devices requires
the use of an integrated Computer-Aided Design (CAD) system.
• Both commercial CAD tool vendors and FPGA companies offer
appropriate tools.
• For example, traditional Electronic Design Automation (EDA)
vendors such as Cadence, Mentor Graphics, Synopsys, and View
Logic etc. offer tools to support FPGA design. s
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 135 of 152
136. contd..
• These tools are typically used for the front-end design entry and
simulation operations and provide the necessary interfaces to
vendor-specific back-end tools for chip placement and routing.
• Examples of vendor specific tools are the Xilinx XACT system
and the Altera MAX+PLUS II software.
• The Altera’s MAX+PLUS II software supports the entire
design flow on either PC or workstation platforms.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 136 of 152
137. Contd..
• The first step in the design process is the
description of the logic circuit, which can be done
either by schematic capture tool or with Boolean
expressions.
• This is followed by a translation that converts the
original circuit description into a standard format
used by the suitable CAD tools (Ex: XILINX
CAD tools).
• The circuit is then passed through CAD programs
that partition it into appropriate logic blocks. Select
a specific location in the FPGA for each logic
block and form the required interconnections.(
(Cadence, View Logic, OrCAD, etc.)
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 137 of 152
138. Initial Design Entry
• The detailed description of the logic circuit are entered
using a schematic capture program. In the design entry
phase, RTL or schematic entry is used to create the logic
to be implemented in the device.
• Pin assignments can also be made, including pin placement
information, and timing constraints that might be necessary
for building a functioning design.
• In the design entry step a schematic or Block Design File
(.bdf) is created that is the top-level design. The library of
parameterized modules (LPM) functions are added and
Verilog HDL code is used to add a logic block
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 138 of 152
139. Contd..
• The library may be either supplied by the vendor of the
schematic capture program or any FPGA vendor(Like Xilinx
or Altera etc).
• An alternate way to specify the logic circuit is to use a Boolean
expression or state machine language.
• This is done without the graphical interface. Some times it is
possible to use a mixture of both schematic and Boolean
expressions
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 139 of 152
140. Translation to XNF Format
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
After the logic circuit is successfully designed and
merged into one circuit ,it is translated into a
special format that is understood by the CAD
tools.For Xilinx this format is called Xilinx net list
format or XNF.This translation utility is supported
by the Xilinx or by the vendor of the logic entry
tool.The translation process may also involve
automatic optimizations of the circuit.
Dr Sudhir Shelke Page 140 of 152
141. Partition
• The XNF circuit is partitioned into logic cells (this partition is
also known as Technology Mapping).
• This technology mapping converts the XNF circuit which is a
net list of basic logic gates ,into a net list of Xilinx logic cells.
• The logic cell used depends on which Xilinx product the
circuit is to be implemented in. XACT tools also attempt to
optimize the circuit during this step.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 141 of 152
142. Place and Route
• Place &Route is performed by using either CAD tools or
manually by the user or mixture of the two.
• The first step is placement ,in which each logic cell generated
during the partition step is assigned to a specific location in the
FPGA.
• Automatic placement can be done using the simulated annealing
algorithm.
• After the placement ,the required interconnections among the
logic cells must be realized by selecting wire segments and
routing switches within the FPGA interconnection resources
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 142 of 152
143. Contd..
• The XACT tools provide a critical path timing analyzer
which provides delay information on the longest through
shortest paths through the chip.
• In addition, the physical layout timing information can also
be back-annotated to the schematics to get more accurate
functional simulation results.
• The final step in the Xilinx design flow is the creation of
the BIT file which contains the binary programming data
needed to configure the SRAM bits of the target chip.
• This file is then downloaded to configure the chip for final
functional and timing tests of the programmed chip.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 143 of 152
144. Compilation
• After creating the design it must be compiled. Compilation
converts the design into a bitstream that can be downloaded into
the FPGA.
• The most important output of compilation is an SRAM Object
File (.sof), which is used to program the device.
• The software also generates other report files that provide
information about the code as it compiles
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 144 of 152
145. Contd..
• In the design flow process the simulation is very important to
learn, and there are entire applications devoted to simulating
hardware designs.
• There are two types of simulation, RTL and timing. RTL (or
functional) simulation allows you to verify that your code is
place-and-route) simulation verifies that the design meets timing
and functions appropriately in the device
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 145 of 152
146. contd..
• After completion of the design ,its performance is checked either
by downloading the configuration bits into FPGA or by using an
interface to a timing simulation program.
• If the performance is not satisfactory ,suitable modifications are
done at some point in the design flow.
• Once the timing and functionality is verified the implementation
is complete.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 146 of 152
147. APPLICATIONS OFFPGAs
• FPGAs have gained rapid acceptance over the past two decades.
• Users can apply them to a wide range of applications like
random logic, integrating multiple SPLDs, device controllers,
communication encoding and filtering, small- to medium-size
systems with SRAM blocks, and many more.
• Another interesting FPGA application is prototyping designs to
be implemented in gate arrays by using one or more large
FPGAs.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 147 of 152
148. contd..
• Another application is the emulation of entire
large hardware systems via the use of many
interconnected FPGAs.
• FPGAs offer particularly powerful solutions for
meeting machine vision, industrial networking,
motor control, and video surveillance needs.
• For example, the flexibility of FPGAs allow
designers to quickly adapt to changing image
sensor interfaces and image processing
requirements, evolve analysis capabilities to
keep pace with market requirements, and add
features and functions long after deployment.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 148 of 152
149. contd..
• FPGAs are also used as custom computing machines.
• This involves using the programmable parts to execute software,
rather than compiling the software for execution on a regular
CPU.
• FPGAs provide a unique combination of highly parallel custom
computation, relatively low manufacturing/engineering costs,
and low power requirements.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 149 of 152
150. Contd..
• FPGAs meet critical timing and performance requirements
with parallel processing and real-time industrial application
performance, permitting greater system integration and lower
development cost.
• In areas such as Industrial Networking and Imaging, where the
protocols and standards are shifting and changing, the
programmability of FPGAs versus fixed logic chips such as
ASICs and ASSPs allows for both faster time-to-market and
longer time-in-market.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 150 of 152
151. FINALE
• The low cost ,fast manufacturing turnaround is the secret
behind the market success of FPGAs.
• Though the large, slow programmable switches prevent FPGAs
from providing the speed performance ,the improvements in
architecture and CAD tools will overcome these disadvantages.
• Over time FPDs will become the dominant technology for
implementing digital circuits.
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 151 of 152
152. References
• Field Programmable Gate Arrays – S.D Brown, R.J.Francis et al
• Field Programmable Gate array Technology- Trimberger
• FPGA and CPLD Architectures : A Tutorial -STEPHEN BROWN &
JONATHAN ROSE.
• FPGA Architecture: Survey and Challenges --Ian Kuon1, Russell
Tessier and Jonathan Rose1
Tuesday,October03,2017Dr.SudhirN.ShelkePh.D
Dr Sudhir Shelke Page 152 of 152