ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
FPGA Design with FPGA Design with XilinxXilinxISEISE
Presenter: Shu-yen LinAdvisor: Prof. An-Yeu Wu
2005/6/6
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 2
OutlineOutlinevConcepts of Xilinx FPGAvXilinx FPGA ArchitecturevIntroduction to ISEvCode GeneratorvConstraints and ReportsvConfigurationvDemo and Lab
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
Concepts of Concepts of XilinxXilinx FPGAFPGA
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 4
Electronic ComponentsElectronic Components
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 5
FPGA BenefitsFPGA Benefits
●●Educational Purpose
●●●●●Development Tool
●●Future Modification
●●Risk Reduction
●●●Time to Market
●●●Low-Volume device Cost
●●●●●●High-Volume Device Cost
●●●●●Integration Density
●●●●●Speed
FPGAGate ArraysCell-Based ICs
Full-Custom ICs
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 6
Full Full XilinxXilinx Design SupportDesign Support
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 7
Xilinx Products v CPLDs and FPGAs
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
XilinxXilinx FPGA ArchitectureFPGA Architecture
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 9
The Conceptual CPLD ArchitectureThe Conceptual CPLD Architecture
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 10
The Conceptual FPGA ArchitectureThe Conceptual FPGA Architecture
v Field-programmablev Re-programmablev In-circuit design verificationv Rapid prototypingv Fast time-to-marketv No IC-test & NRE costv H/W emulation instead of S/W
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 11
SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (1/6)E FPGA Architecture (1/6)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 12
v Logic and Routing - the CLB tileSpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (2/6)E FPGA Architecture (2/6)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 13
SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (3/6)E FPGA Architecture (3/6)
v Two slices in each CLBv Each slice contains 2 LUT, 2 Register and 2 Carry Logic.
vLogic and Routing – Simplified CLB Structure
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 14
SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (3/6)E FPGA Architecture (3/6)
v Logic and Routing – Look-Up Tables (LUTs)v Combinational logic is stored in Look-up Tables
(LUTs) in a CLB.v Capacity is limited by number of inputs, not
complexity.v Delay through CLB is constant.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 15
SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (4/6)E FPGA Architecture (4/6)
v System Interface – Select IOTM
v Supports multiple voltage and signal standards simultaneouslyv Eliminate costly bus transceivers
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 16
v System Memory – Distributed RAM, Block RAM and External MemorySpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (5/6)E FPGA Architecture (5/6)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 17
SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (6/6)E FPGA Architecture (6/6)
v System clock management - DLLsv Clock MirrorvMultiplicationØ 1 DLL for 2xØCombine 2 DLL for 4x
v DivisionØ Selectable division values - 1.5, 2, 2.5,
3, 4, 5, 8, or 16v Phase ShiftØ 0, 90, 180, 270
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 18
SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (1/7)FPGA Architecture (1/7)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 19
SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (2/7)FPGA Architecture (2/7)v Logic and Routing - the CLB tile
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 20
SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (3/7)FPGA Architecture (3/7)vSystem Interface – Select IOTM 23 different
standards supported !
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 21
SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (4/7)FPGA Architecture (4/7)v System Memory –External Memory supports DDR memory
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 22
SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (5/7)FPGA Architecture (5/7)v System clock management – DCMs
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 23
SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (6/7)FPGA Architecture (6/7)v System clock management – DCMs
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 24
SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (7/7)FPGA Architecture (7/7)v Embedded multiplexer
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 25
VirtexIIVirtexII Pro FPGA ArchitecturePro FPGA Architecture
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 26
Programmable Logic EvolutionProgrammable Logic Evolution
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
Introduction to ISEIntroduction to ISE
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 28
ISE PhilosophyISE Philosophyv ISE 6.1iv Future Xilinx devicesv Proactive Timing Closurev ECS & HDL Bencher & XST
v Platformv Unix: Solaris 2.7/2.8v PC: Win 2000/XP
v Service Packv http://support.xilinx.com
v ISE WebPagev http://www.xilinx.com/ise
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 29
Design Flow in ISE (1/2)Design Flow in ISE (1/2)
Design
Synthesis
Implement
Download
A & B = C
AB
C
LUT RegAB
C
CLB
AB
C
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 30
Design Flow in ISE (2/2)Design Flow in ISE (2/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 31
Introduction to Projection Navigator (1/4)Introduction to Projection Navigator (1/4)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 32
Introduction to Projection Navigator (2/4)Introduction to Projection Navigator (2/4)v Source Windows
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 33
Introduction to Projection Navigator (3/4)Introduction to Projection Navigator (3/4)vProcesses for current source
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 34
Introduction to Projection Navigator (4/4)Introduction to Projection Navigator (4/4)v Processes for current source
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 35
Create New ProjectCreate New Project
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 36
Create New SourceCreate New Source
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 37
HDL Source FileHDL Source File
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 38
Text EntryText Entry
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 39
Language TemplatesLanguage Templates
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 40
Synthesis (1/4)Synthesis (1/4)v XST
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 41
Synthesis (2/4)Synthesis (2/4)v XST Flow
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 42
Synthesis (3/4)Synthesis (3/4)v Synthesis Step
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 43
Synthesis (4/4)Synthesis (4/4)v RTL view
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 44
Implementation (1/8)Implementation (1/8)
Translate - Merge multiple design files into a single netlistMap - Group logical symbols from the netlist (gates) into physical components (CLBs and IOBs)Place & Route - Place components onto the chip, connect them, and extract timing data into reports
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 45
Implementation (2/8)Implementation (2/8)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 46
TranslateImplementation (3/8)Implementation (3/8)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 47
MapImplementation (4/8)Implementation (4/8)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 48
Implementation (5/8)Implementation (5/8)
vMap Propertyv Trim Unconnected SignalsØ If you check this item, the mapping tool will remove the unconnected
wire that let the tracing back become hardly.v Generate Detailed Map ReportØ If more detailed report is needed, you can check it. (Recommending
check it)v Use Guide Design File (.ncd)Ø You can refer the last mapping solution so that you maybe get better
solution. v Use RLOC ConstraintsØConstraints of CLB (default check).
v Pack I/O Registers/Latches into IOBsØ If the value chosen Default that pack the register nearby I/O into I/O
block. You can also chose only for input or only for output or off.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 49
Place and Route
Implementation (6/8)Implementation (6/8)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 50
v Place and Route Property (1/2)v Place & Route Effort Level (Overall)Ø Effort Level means the P&R effect result. Using the Higher get the
better solution, but spend more time. v Starting Placer Cost Table (0-100)Ø Specify a placement initialization value with which to begin P&R
attempts. Each subsequent attempt is assigned an incremental value based on the placement initialization value.
v Place and Route ModeØQuick means without timing constraints; Route Only and Re-entrant
Route mean P&R must have been run at last once to use this option.v Guide FileØ Include the .ncd file.
Implementation (7/8)Implementation (7/8)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 51
v Place and Route Property (2/2)v Use Timing ConstraintsØ Include the .ucf file.
v Use Bonded I/OsØ If it is checked, signals will be connected to I/O pads.
v Generate Detailed PAR ReportØCheck the value to generate a detailed PAR report.
v Generate Post-Place & Route Static Timing ReportØCheck the value to generate post-place & route static timing report.
v Generate Post-Place & Route Simulation ModelØCheck it for generating required simulation files for ModelSim (*.v and
*.sdf).
Implementation (8/8)Implementation (8/8)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 52
Download (1/2)Download (1/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 53
Download (2/2)Download (2/2)
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
Code GeneratorCode Generator
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 55
What are Cores?What are Cores?
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 56
Benefits of Using CoresBenefits of Using Cores
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 57
Invoking the CORE Generator GUIInvoking the CORE Generator GUI
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 58
XilinxXilinx Code Generator System GUICode Generator System GUI
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 59
Core Customize WindowCore Customize Window
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 60
Core Data SheetCore Data Sheet
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 61
Core Generator Design Flow Core Generator Design Flow
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 62
Link with Link with CodeGenCodeGen IP (IP (VerilogVerilog))
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
Constraints and ReportsConstraints and Reports
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 64
TopicsTopicsvAssign Package Pins (PACE)vAssigning Pins
vCreate Timing ConstraintsvThe PERIOD ConstraintsvThe Pad-to-Pad ConstraintsvThe OFFSET ConstraintsvThe Constraints Editor
vRead Report
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 65
Constraints GUI (1/2)Constraints GUI (1/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 66
Constraints GUI (2/2)Constraints GUI (2/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 67
Assign Package Pins (1/6)Assign Package Pins (1/6)vStart PACE Editor
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 68
Assign Package Pins (2/6)Assign Package Pins (2/6)vPACE Editor GUI
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 69
Assign Package Pins (3/6)Assign Package Pins (3/6)vMethod #1 to assign package pins
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 70
Assign Package Pins (4/6)Assign Package Pins (4/6)vMethod #2 to assign package pins
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 71
Assign Package Pins (5/6)Assign Package Pins (5/6)vMethod #3 to assign package pins
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 72
Assign Package Pins (6/6)Assign Package Pins (6/6)vMethod #4 to assign package pins
vUse text editor to edit .ucf filesvNET is port namevLOC assign pins to
specific location
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 73
The PERIOD ConstraintThe PERIOD Constraint
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 74
The PadThe Pad--toto--Pad ConstraintPad Constraint
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 75
The OFFSET ConstraintThe OFFSET Constraint
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 76
The Constraint Editor (1/3)The Constraint Editor (1/3)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 77
The Constraint Editor (2/3)The Constraint Editor (2/3)v Enter PERIOD and Pad-to-Pad Constraint
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 78
The Constraint Editor (3/3)The Constraint Editor (3/3)v Enter OFFSET Constraint
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 79
Read Report (1/12)Read Report (1/12)v Create Report Files
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 80
Read Report (2/12)Read Report (2/12)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 81
Read Report (3/12)Read Report (3/12)v Example of MAP Report (1/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 82
Read Report (4/12)Read Report (4/12)v Example of MAP Report (2/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 83
Read Report (5/12)Read Report (5/12)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 84
Read Report (6/12)Read Report (6/12)v Example of PAR Report (1/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 85
Read Report (7/12)Read Report (7/12)v Example of PAR Report (2/2)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 86
Read Report (8/12)Read Report (8/12)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 87
Read Report (9/12)Read Report (9/12)v Example of Timing Report (1/4)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 88
Read Report (10/12)Read Report (10/12)v Example of Timing Report (2/4)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 89
Read Report (11/12)Read Report (11/12)v Example of Timing Report (3/4)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 90
Read Report (11/12)Read Report (11/12)v Example of Timing Report (4/4)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 91
PostPost--layout Simulationlayout Simulation
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
ConfigurationConfiguration
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 93
What is configuration?What is configuration?v Process for loading into the FPGA
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 94
Configuration Mode (1/4)Configuration Mode (1/4)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 95
Configuration Mode (2/4)Configuration Mode (2/4)v Serial Mode
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 96
Configuration Mode (3/4)Configuration Mode (3/4)vSelectMAP Mode
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 97
Configuration Mode (4/4)Configuration Mode (4/4)v JTAG or Boundary Scan
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 98
IMACT (1/3)IMACT (1/3)
Must double clock “Generate Programming File”before programming FPGA
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 99
IMACT (2/3)IMACT (2/3)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
pp. 100
IMACT (3/3)IMACT (3/3)