Title: Joint Program Seminar
1Joint Program Seminar
- High-Speed FPGA Design with XC4000
ORNL
September 17, 1999
2Presentation for ECE-552
- High-Speed FPGA Design with XC4000
ORNL
March 7, 2000
3Contents
- Xilnix FPGA Overview
- XC4000 Architecture
- Design Flow
- High-Speed Design Examples
- High-Speed VHDL
- High-Speed Simulation
- Hardware Testing
- Design Tips
4Xilnix FPGA Devices
- High-Density Devices
- XC4000, XC4000XL, XC4000XV
- Virtex
- Low-Cost Devices
- Spartan
- CoolRunner
5XC 4000 Architecture
- Third generation FPGA
- Sub-micron CMOS process
- Programmable logic blocks and I/O blocks
- Programmable interconnects
- Eight global low-skew clock networks
- Low power
- Six programming modes
6XC 4000 Architecture
7XC 4000 Architecture
8XC 4000 Architecture
9XC 4000 Architecture
10XC 4000 Architecture
11XC 4000 Architecture
12Design Flow
- Design Entry (Schematic, HDL, Diagram)
- Functional Simulation
- Design Synthesis
- Post-layout Simulation
- Configuration
- Hardware Testing
13High-Speed Design Examples
- Bus Latches
- Shift Registers
- Counters
14High-Speed Design Examples Bus Latches
15High-Speed Design Examples Bus Latches
16High-Speed Design Examples Bus Latches
17High-Speed Design Examples Bus Latches
Clock 4 MHz
18High-Speed Design Examples Bus Latches
Clock 40 MHz
19High-Speed Design Examples Bus Latches
20High-Speed Design Examples Bus Latches
21High-Speed Design Examples Bus Latches
Clock 40 MHz Skew 5 ns
22High-Speed Design Examples Bus Latches
23High-Speed Design Examples Bus Latches
24High-Speed Design Examples Bus Latches
Clock 40 MHz Skew 2 ns
25High-Speed Design Examples Bus Latches
Clock 100 MHz Skew 2 ns
26High-Speed Design Examples Parallel-to-serial
Shift Register
27High-Speed Design Examples Parallel-to-serial
Shift Register
28High-Speed Design Examples Parallel-to-serial
Shift Register
29High-Speed Design Examples Parallel-to-serial
Shift Register
Clock 40 MHz
30High-Speed Design Examples Parallel-to-serial
Shift Register
Clock 100 MHz
31High-Speed Design Examples Serial-to-parallel
Shift Register
32High-Speed Design Examples Serial-to-parallel
Shift Register
33High-Speed Design Examples Serial-to-parallel
Shift Register
Clock 40 MHz
34High-Speed Design Examples Binary Counter
35High-Speed Design Examples Binary Counter
36High-Speed Design Examples Binary Counter
37High-Speed Design Examples Binary Counter
Clock 20 MHz
38High-Speed Design Examples Binary Counter
Clock 100 MHz
39High-Speed Design Examples Binary Counter
40High-Speed Design Examples Binary Counter
41High-Speed Design Examples Binary Counter
Clock 100 MHz
42High-Speed VHDL Design
PRESENT STATE
NEXT STATE
D
Q
COMB
INPUTS
CLOCK
OUTPUTS
COMB
SYNCHRONOUS STATE MACHINE WITH COMBINATORIAL
OUTPUTS
43High-Speed VHDL Design
SYNCHRONOUS STATE MACHINE WITH COMBINATORIAL
OUTPUTS
44High-Speed VHDL Design
PRESENT STATE
NEXT STATE
D
Q
COMB
INPUTS
CLOCK
COMB OUTPUTS
SYNC OUTPUTS
D
Q
COMB
CLOCK
SYNCHRONOUS STATE MACHINE WITH SYNCHRONOUS OUTPUTS
45High-Speed VHDL Design
SYNCHRONOUS STATE MACHINE WITH SYNCHRONOUS OUTPUTS
46High-Speed Simulation
47High-Speed Simulation
Clock 70 MHz
Constrained
Unconstrained QA Delay 1.0 ns - 1.6 ns 1.0
ns - 4.3 ns
LA Delay 1.3 ns
48High-Speed Simulation
49High-Speed Simulation
50Design Tips
- Keep the chip usage below 70
- Use global clock networks
- Constrain the net skew
- Use timing constraints in the .ucf file
- Constrain the placement
- Use the floor-plan editor for fine delay
adjustment
51Design Tips
- Use VHDL code for state machine design
- Use schematic where timing is critical
- Use Gray code counters
- Use detailed timing data during simulation
- Check the timing of the input signals