FPGA Basics: FPGA and Xilinx ISE
FPGA Basics: FPGA and Xilinx ISE
z What is FPGA
9 Field Programmable Gate Array
9 An FPGA is a regular structure of logic cells (modules) and
interconnect, which is under the designer’s complete control.
FPGA and Xilinx ISE 9 An FPGA is really some programmable logic
with a whole bunch of programmable wires
z How to program
9 Volatile
SRAM-Based, reprogrammable
9 Non volatile
Anti-fuse, one time programmable
Page 2
1
Slices and CLBs Simplified Slice Structure
z Each Virtex™-II CLB contains COUT COUT
z Each slice has
four slices BUFT
BUF T
9 Two 4-input look-up tables
9 Local routing provides feedback (LUTs)
Slice S3 Slice 0
between slices in the same Any 4-input logic functions
CLB, and it provides routing to 9 Four outputs PRE
LUT Carry D Q
neighboring CLBs Slice S2 Two registered outputs, LUT Carry CE
CLR
CIN CIN
Page 5 Page 6
Page 7 Page 8
2
FPGA Design Flow
Design Entry
(Xilinx ISE)
z Plan and budget
Create Code/ HDL RTL
z Two design-entry methods: HDL or schematic
Plan & Budget
Schematic Simulation z Whichever method you use, you will need a tool to generate a
Implement netlist for implementation
9 Netlist: A text file that describes the actual circuit to be implemented at
Functional Synthesize
Translate very low (gate) level
Simulation to create netlist
z Simulate the design to ensure that it works as expected!
Map
Page 9 Page 10
Page 11 Page 12
3
Timing Closure Download
z Once a design is implemented, you must create a file
that the FPGA can understand
9 This file is called a bitstream: a BIT file (.bit extension)
z The BIT file can be downloaded directly into the FPGA,
or the BIT file can be converted into a PROM file, which
stores the programming information
Page 13 Page 14
Page 15 Page 16