2. CONTENTS
What are FPGAs?
Families of FPGA
Basic architecture of FPGA
Programmability
Xilinx specifications
Fpga generic design flow
Introduction to xilinx ISE
Xilinx devolepment flow
3. What are FPGAs?
ïFpgas are field programmable gate arrays.
ïBasically they are integrated circuits(ICs).
ïThey are configurable(programmable).
What are programmable in FPGAs?
ï§ Logic blocks
ï§ Interconnects
why the term field programmable?
ï¶ Modifying device function in lab or at the site
where device is installed
4. Why FPGAs?
ïInexpensive, easy realisation of logic networks in
hardware
Hardware of FPGAs contains:
âą Plds
âą Logic gates
âą Ram
âą Layout of a unit is reapeated in matrix form
âą User configure
âą Function of each logic block
âą IOB
âą Interconnections
5. Families of FPGAs
ïŒXilinx
ïŒActel
ïŒAltera
ï¶What was difference between the above three
FPGAs families?
âą Physical means for implementing
programmabilty.
âą Interconnection among arrangments.
âą Basic functionality of logic blocks.
8. Programmibility
Three programming methods:
ï¶SRAM based programming:
which is used by xilinx and altera based
fpgas.
ï¶Antifuse technology:
which is used by actel,quick logic based
technology.
ï¶EPROM/EEPROM:
9. S-Ram based programming
Fpga connections:
âą Pass transistors
âą Transmission gates
âą Multipliers
ïMaking or breaking cross point connections
ïDefine function of logic blocks
10. How an SRAM is programmed?
ï¶There are two pins i.e; input/output
configurable pins which are used to program
ï¶When we implement a logic into fpga it is
converted into bit files which was stored
serially(as a single shift register) from input to
output.
11. programability
âą Interconnect lines are pre-laid
vertically and horizontally.
âą Programmable switches connects
the lines to input/output of
logic blocks.
âą A switch matrix is a set of multi-
plexers where an incoming line con-
nected to any outgoing line.
12. Antifuse technology
âą It is a one time programming
Antifuse:links in configurable paths
ï§ In an unprogrammed state it acts as like a high
impedance
13. Xilinx specifications
Xilinx provides many FPGAs that differ in complexity
which is based in number of configurable logical
blocks.
There are two types of fpgas
1)Virtex II based FPGA
2)Spartan 3E based FPGA
ï¶Although they differ in complexity,all FPGAs
contains similar structure like,
ïCLBs:configurable logic blocks
ïIOBSs:input/output blocks
ïPI:programmable interconnects
ïRam blocks
ïBuffers etc.;
15. 1)CLBs: These block is divided into two slices
âą For each slice there will be two 4-input
function generator.
âą Carry logic
âą Two storage elements.
âą Each function generator output drives CLB
output + D input of flipflop
âą Logic combines function generator to provide
functions of five or six inputs
17. IOBs
The IOBs appears as a storage elements that
acts as either D-ff or Latches.
Ther are certain modes in which IOBs work
1)Snchronous set/reset.
2)Asynchronous preset/clear.
Each IOB can be programmed into
1)Input path: In this the Buffer routes input
signal directly to core or via D-ff.
2)Output path:In this Buffer routes output signal
directly from core or via D-ff.
18. RAM Blocks
Blocks of RAMs are organized in columns.
Why ram?
âą To store any intermediate data in an
application.
Programmable routing
How this programmable routing takes place?
âą Adajacent to each CLB stands a General
Routing Matrix(GRM).
âą GRM is nothing but switch matrix which get
resources from CLBs,RAM,Multipliers.
19. Arithmetic resources in xilinx FPGAs
âą Some arithmetic resources like
adders,counters,multipliers are required
because special circuitry to speed up
arithmetic operations.
âą Dedicated carry logic/xor
21. FPGA Generic Design Flow
ïFirst step is the Design entry
âą That means we create design using Schematic
or HDL.
ïSecond step is to implementation of the
design
It undergoes three steps
âą Partitioning
âą Place
âą Routing
ïThird step is the Verification
âą Uses simulator to check functionality
22. Introduction to XILINX ISE
ïISE (Integrated Software Environment) is a
tool provided by xilinx to configure FPGA.
ïISE is an integrated collection of tools
accessible to GUI
ïIt means it brings all tools to one place.
ïEg:XST,PACE,core gen.,constraint editor,Impact
23. Xilinx development flow
1) Design entry
ïWhat we provide to ISE tool?
âą We provide verilog(.v) or vhdl(.vhd) or
schematic(.sch) file.
2) Synthesis
âą We uses xst which is xilinx synthesis tool and it
produces a netlist file starting from an
hdl/schematic description.
ïIt means we convert .v,.vhd,.sch to .ngc
24. 3) Translate: Done by NGD Build tool
ïIt reads all input design netlists and then
writes the results into a single merged file that
describes logic and constraints.
ïIt converts .ngc to .ngd
NGD:Native Generic Database
ïA NGD file describes the logic design reduced
to xilinx primitives.
4) MAPPING:
âą Maps the logic on device cmponents.
âą Takes the netlist and group the logical
elements into CLBs and IOBs
âą Generates NCD and PCF.
25. NCD:Native Circuit Description File
ïGives information about the physical circuit
description of input design as applied to a specific
device.
PCF:physical constraints file
ïContains information about physical constraints
5)Place and route:
âą Determines the placement of cells and the
routing between the cells.
6)Bit stream generation:
âą A Bit stream is a stream of data that contains the
location information for logic on a device.
26. 7)configuration/programming:
âą Programming a bit file into fpga using JTAG port.
There are some other tools that are used by xilinx ISE:
o HDL compiler which uses XST tool to compile given
input.
o For simulation xilinx ISEsim,modelsim are used.
o Core generator and architecture wizard.
o Pinout and area constraint editor uses PACEtool to
maka a constraint for a given circuit.
o Implementation is done by using Translate/Map/Par.
o Device configuration is done by Impact tool.