Introduction to FPGA Devices, Tools, and Boards - PowerPoint PPT Presentation

1 / 80
About This Presentation
Title:

Introduction to FPGA Devices, Tools, and Boards

Description:

Title: Xilinx XC4000 FPGA devices Author: pchodowi Last modified by: Kris Gaj Created Date: 3/31/2003 7:38:53 PM Document presentation format: On-screen Show – PowerPoint PPT presentation

Number of Views:234
Avg rating:3.0/5.0
Slides: 81
Provided by: pcho
Category:

less

Transcript and Presenter's Notes

Title: Introduction to FPGA Devices, Tools, and Boards


1
Introduction to FPGA Devices, Tools, and Boards
2
FPGA Devices
3
World of Integrated Circuits
Integrated Circuits
Full-Custom ASICs
Semi-Custom ASICs
User Programmable
PLD
FPGA
PAL
PLA
PML
LUT (Look-Up Table)
MUX
Gates
4
Two competing implementation approaches
FPGA Field Programmable Gate Array
ASIC Application Specific Integrated Circuit
  • bought off the shelf
  • and reconfigured by
  • designers themselves
  • designs must be sent
  • for expensive and time
  • consuming fabrication
  • in semiconductor foundry
  • no physical layout design
  • design ends with
  • a bitstream used
  • to configure a device
  • designed all the way
  • from behavioral description
  • to physical layout

5
What is an FPGA?
Configurable Logic Blocks
I/O Blocks
Block RAMs
6
Which Way to Go?
ASICs
FPGAs
Off-the-shelf
High performance
Low development cost
Low power
Short time to market
Low cost in high volumes
Reconfigurability
7
Other FPGA Advantages
  • Manufacturing cycle for ASIC is very costly,
    lengthy and engages lots of manpower
  • Mistakes not detected at design time have large
    impact on development time and cost
  • FPGAs are perfect for rapid prototyping of
    digital circuits
  • Easy upgrades like in case of software
  • Unique applications
  • reconfigurable computing

8
Major FPGA Vendors
  • SRAM-based FPGAs
  • Xilinx, Inc.
  • Altera Corp.
  • Atmel
  • Lattice Semiconductor
  • Flash antifuse FPGAs
  • Actel Corp.
  • Quick Logic Corp.

Share over 60 of the market
9
Xilinx
  • Primary products FPGAs and the associated CAD
    software
  • Main headquarters in San Jose, CA
  • Fabless Semiconductor and Software Company
  • UMC (Taiwan) Xilinx acquired an equity stake in
    UMC in 1996
  • Seiko Epson (Japan)
  • TSMC (Taiwan)

ISE Alliance and Foundation Series Design
Software
10
Xilinx FPGA Families
  • Old families
  • XC3000, XC4000, XC5200
  • Old 0.5µm, 0.35µm and 0.25µm technology. Not
    recommended for modern designs.
  • High-performance families
  • Virtex (0.22µm)
  • Virtex-E, Virtex-EM (0.18µm)
  • Virtex-II, Virtex-II PRO (0.13µm)
  • Low Cost Family
  • Spartan/XL derived from XC4000
  • Spartan-II derived from Virtex
  • Spartan-IIE derived from Virtex-E
  • Spartan-3

11
(No Transcript)
12
Basic Spartan-II FPGA Block Diagram
13
CLB Structure
  • Each slice has 2 LUT-FF pairs with associated
    carry logic
  • Two 3-state buffers (BUFT) associated with each
    CLB, accessible by all CLB outputs

14
CLB Slice Structure
  • Each slice contains two sets of the following
  • Four-input LUT
  • Any 4-input logic function,
  • or 16-bit x 1 sync RAM
  • or 16-bit shift register
  • Carry Control
  • Fast arithmetic logic
  • Multiplier logic
  • Multiplexer logic
  • Storage element
  • Latch or flip-flop
  • Set and reset
  • True or inverted inputs
  • Sync. or async. control

15
LUT (Look-Up Table) Functionality
  • Look-Up tables are primary elements for logic
    implementation
  • Each LUT can implement any function of 4 inputs

16
5-Input Functions implemented using two LUTs
  • One CLB Slice can implement any function of 5
    inputs
  • Logic function is partitioned between two LUTs
  • F5 multiplexer selects LUT

17
5-Input Functions implemented using two LUTs
OUT
18
Dedicated Expansion Multiplexers
  • MUXF5 combines 2 LUTs to create
  • Any 5-input function (LUT5)
  • Or selected functions up to 9 inputs
  • Or 4x1 multiplexer
  • MUXF6 combines 2 slices to form
  • Any 6-input function (LUT6)
  • Or selected functions up to 19 inputs
  • 8x1 multiplexer
  • Dedicated muxes are faster and more space
    efficient

19
Distributed RAM
  • CLB LUT configurable as Distributed RAM
  • A LUT equals 16x1 RAM
  • Implements Single and Dual-Ports
  • Cascade LUTs to increase RAM size
  • Synchronous write
  • Synchronous/Asynchronous read
  • Accompanying flip-flops used for synchronous read

20
Shift Register
  • Each LUT can be configured as shift register
  • Serial in, serial out
  • Dynamically addressable delay up to 16 cycles
  • For programmable pipeline
  • Cascade for greater cycle delays
  • Use CLB flip-flops to add depth

21
Shift Register
  • Register-rich FPGA
  • Allows for addition of pipeline stages to
    increase throughput
  • Data paths must be balanced to keep desired
    functionality

22
Carry Control Logic
COUT
YB
Look-Up Table
Carry Control Logic
Y
G4 G3 G2 G1
S
D
Q
O
CK
EC
R
F5IN
BY SR
XB
Look-Up Table
Carry Control Logic
X
S
F4 F3 F2 F1
D
Q
O
CK
EC
R
CIN CLK CE
SLICE
23
Fast Carry Logic
  • Each CLB contains separate logic and routing for
    the fast generation of sum carry signals
  • Increases efficiency and performance of adders,
    subtractors, accumulators, comparators, and
    counters
  • Carry logic is independent of normal logic and
    routing resources

MSB
Carry Logic Routing
LSB
24
Accessing Carry Logic
  • All major synthesis tools can infer carry logic
    for arithmetic functions
  • Addition (SUM lt A B)
  • Subtraction (DIFF lt A - B)
  • Comparators (if A lt B then)
  • Counters (count lt count 1)

25
Block RAM
  • Most efficient memory implementation
  • Dedicated blocks of memory
  • Ideal for most memory requirements
  • 4 to 14 memory blocks
  • 4096 bits per blocks
  • Use multiple blocks for larger memories
  • Builds both single and true dual-port RAMs

26
Spartan-II Block RAM Amounts
27
Block RAM Port Aspect Ratios
28
Block RAM Port Aspect Ratios
1k x 4
2k x 2
4k x 1
512 x 8
256 x 16
29
Dual Port Block RAM
30
Dual-Port Bus Flexibility
RAMB4_S4_S16
WEA
Port A Out 4-Bit Width
Port A In 1K-Bit Depth
ENA
RSTA
DOA30
CLKA
ADDRA90
DIA30
WEB
Port B Out 16-Bit Width
Port B In 256-Bit Depth
ENB
RSTB
DOB150
CLKB
ADDRB70
DIB150
  • Each port can be configured with a different data
    bus width
  • Provides easy data width conversion without any
    additional logic

31
Two Independent Single-Port RAMs
RAMB4_S1_S1
Port A In 2K-Bit Depth
Port A Out 1-Bit Width
VCC, ADDR100
Port B In 2K-Bit Depth
Port B Out 1-Bit Width
GND, ADDR100
  • To access the lower RAM
  • Tie the MSB address bit to Logic Low
  • To access the upper RAM
  • Tie the MSB address bit to Logic High
  • Added advantage of True Dual-Port
  • No wasted RAM Bits
  • Can split a Dual-Port 4K RAM into two Single-Port
    2K RAM
  • Simultaneous independent access to each RAM

32
I/O Banking
33
Basic I/O Block Structure
D
Q
Three-State
EC
FF Enable
Three-StateControl
Clock
SR
Set/Reset
D
Q
Output
EC
FF Enable
Output Path
SR
Direct Input
FF Enable
Input Path
D
Q
Registered Input
EC
SR
34
IOB Functionality
  • IOB provides interface between the package pins
    and CLBs
  • Each IOB can work as uni- or bi-directional I/O
  • Outputs can be forced into High Impedance
  • Inputs and outputs can be registered
  • advised for high-performance I/O
  • Inputs can be delayed

35
Routing Resources
36
Clock Distribution
37
Spartan-II FPGA Family Members
38
FPGA Nomenclature
39
Spartan-II User I/O Chart(1)
40
Device Part Marking
Were Using XC2S100-5TQ144C
41
FPGA Tools
42
Design process (1)
Design and implement a simple unit permitting to
speed up encryption with RC5-similar cipher with
fixed key set on 8031 microcontroller. Unlike in
the experiment 5, this time your unit has to be
able to perform an encryption algorithm by
itself, executing 32 rounds..
Specification (Lab Experiments)
VHDL description (Your Source Files)
Library IEEE use ieee.std_logic_1164.all use
ieee.std_logic_unsigned.all entity RC5_core is
port( clock, reset,
encr_decr in std_logic
data_input in std_logic_vector(31 downto 0)
data_output out std_logic_vector(31
downto 0) out_full in
std_logic key_input in
std_logic_vector(31 downto 0)
key_read out std_logic ) end
AES_core
Functional simulation
Synthesis
Post-synthesis simulation
43
Design process (2)
Implementation
Timing simulation
Configuration
On chip testing
44
Design Process control from Active-HDL
45
Simulation Tools
  • Many others

46
(No Transcript)
47
(No Transcript)
48
Synthesis Tools
  • and others

49
Logic Synthesis
VHDL description
Circuit netlist
architecture MLU_DATAFLOW of MLU is signal
A1STD_LOGIC signal B1STD_LOGIC signal
Y1STD_LOGIC signal MUX_0, MUX_1, MUX_2, MUX_3
STD_LOGIC begin A1ltA when (NEG_A'0')
else not A B1ltB when (NEG_B'0') else not
B YltY1 when (NEG_Y'0') else not
Y1 MUX_0ltA1 and B1 MUX_1ltA1 or
B1 MUX_2ltA1 xor B1 MUX_3ltA1 xnor
B1 with (L1 L0) select Y1ltMUX_0 when
"00", MUX_1 when "01", MUX_2 when
"10", MUX_3 when others end MLU_DATAFLOW
50
Features of synthesis tools
  • Interpret RTL code
  • Produce synthesized circuit netlist in a standard
    EDIF format
  • Give preliminary performance estimates
  • Some can display circuit schematics corresponding
    to EDIF netlist

51
Implementation
  • After synthesis the entire implementation process
    is performed by FPGA vendor tools

52
(No Transcript)
53
Translation
Synthesis
Circuit netlist
Timing Constraints
Constraint Editor
Native Constraint File
Electronic Design Interchange Format
EDIF
UCF
NCF
User Constraint File
Translation
Native Generic Database file
NGD
54
Circuit netlist
55
Mapping
LUT4
LUT1
FF1
LUT5
LUT2
FF2
LUT3
56
Placing
FPGA
CLB SLICES
57
Routing
FPGA
Programmable Connections
58
Static Timing Analyzer
  • Performs static analysis of the circuit
    performance
  • Reports critical paths with all sources of delays
  • Determines maximum clock frequency

59
Static Timing Analysis
  • Critical Path The Longest Path From Outputs of
    Registers to Inputs of Registers

60
Static Timing Analysis
  • Min. Clock Period Length of The Critical Path
  • Max. Clock Frequency 1 / Min. Clock Period

61
Configuration
  • Once a design is implemented, you must create a
    file that the FPGA can understand
  • This file is called a bit stream a BIT file
    (.bit extension)
  • The BIT file can be downloaded directly to the
    FPGA, or can be converted into a PROM file which
    stores the programming information

62
Spartan-II Configuration File Size
63
XESS Board
64
External Connections to XSA Board
65
Arrangement of Components
66
XSA Board Connectivity
67
100 MHz Programmable Oscillator
68
PS/2 Port Pushbutton
69
Parallel Port Interface
70
Pin Assignment
FPGA
71
Constraints Editor
72
Sample UCF File
  • Constraints generated by Synplify Pro 7.3.3,
    Build 039R
  • Period Constraints
  • Begin clock constraints
  • End clock constraints
  • Output Constraints
  • Input Constraints
  • Location Constraints
  • End of generated constraints
  • NET "clock" LOC "P88"
  • NET "control(0)" LOC "P50"
  • NET "control(1)" LOC "P48"
  • NET "control(2)" LOC "P42"
  • NET "reset" LOC "P93"
  • NET "segments(0)" LOC "P67"
  • NET "segments(1)" LOC "P39"
  • NET "segments(2)" LOC "P62"
  • NET "segments(3)" LOC "P60"

73
Resources Required Reading
Spartan FPGA devices
  • Xilinx Spartan-II 2.5V FPGA Family
  • Complete Data Sheet
  • Module 1 Introduction Ordering Information
  • Module 2 Functional Description
  • http//direct.xilinx.com/bvdocs/publications/ds001
    .pdf

FPGA Board
XESS XSA Board V1.1, V1.2, User Manual How to
install, test, and use your new XSA Board,
http//www.xess.com/manuals/xsa-manual-v1_2.pdf
74
Resources Required Reading
FPGA Tools
Integrated Interfaces Active-HDL with
Synplify http//www.aldec.com/Previews/active_sy
nplify.htm Integrated Synthesis and
Implementation http//www.aldec.com/Previews/synth
esis_implementation.htm
75
Hands-on Session
  • Enough Talking Lets Get To It!!Brace
    Yourselves!!

76
Experiment 3 Introduction
77
Experiment 3 Part 1
Implement test your up and down counter with a
seven segment display
78
Experiment 3 Part 2 Option I, MLU
79
Experiment 3 Part 2 Option II, ALU
arith 10
A30 B30
0
A B
1
A - B
2
A ltltlt 1
3
A gtgtgt 1
0
0
logic 10
0
A and B
1
A or B
2
A xor B
3
A xnor B
80
Questions?
Write a Comment
User Comments (0)
About PowerShow.com