Xilinx Design Flow FPGA Design Flow Workshop

Xilinx Design Flow
FPGA Design Flow Workshop
© 2003 Xilinx, Inc. All Rights Reserved
For
Academic Use Only
Objectives
After completing this module, you will be able to:
•
•
List the steps of the Xilinx design process
Implement an FPGA design by using default software options
Xilinx Design Flow 3 - 3
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Outline
•
•
•
Xilinx Design Flow 3 - 4
For Academic Use Only
Overview
ISE
Summary
© 2003 Xilinx, Inc. All Rights Reserved
Xilinx Design Flow
Plan & Budget
Create Code/
Schematic
HDL RTL
Simulation
Implement
Translate
Functional
Simulation
Synthesize
to create netlist
Map
Place & Route
Attain Timing
Closure
Xilinx Design Flow 3 - 5
For Academic Use Only
Timing
Simulation
© 2003 Xilinx, Inc. All Rights Reserved
Create
Bit File
Design Entry
•
•
Plan and budget
Two design-entry methods: HDL or schematic
Architecture Wizard, CORE Generator™ system, and StateCAD are available
to assist in design entry
–
•
Whichever method you use, you will need a tool to generate an EDIF or NGC
netlist to bring into the Xilinx implementation tools
Popular synthesis tools: Synplify, Precision, FPGA Compiler II, and XST
–
•
Simulate the design to ensure that it works as expected!
Plan & Budget
Create Code/
Schematic
...
Functional
Simulation
Xilinx Design Flow 3 - 6
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
HDL RTL
Simulation
Synthesize
to create netlist
Xilinx Implementation
•
•
Once you generate a netlist,
you can implement the design
There are several outputs of
implementation
–
–
–
–
–
Xilinx Design Flow 3 - 7
Reports
Timing simulation netlists
Floorplan files
FPGA Editor files
and more!
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Implement
Translate
Map
Place & Route
.
.
.
...
What is Implementation?
•
•
More than just “Place & Route”
Implementation includes many phases
–
–
–
•
Translate: Merge multiple design files into a single netlist
Map: Group logical symbols from the netlist (gates) into physical
components (slices and IOBs)
Place & Route: Place components onto the chip, connect them, and extract
timing data into reports
Each phase generates files that allow you to use other Xilinx tools
–
Xilinx Design Flow 3 - 8
Floorplanner, FPGA Editor, XPower
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Timing Closure
•
•
The Timing Closure Flow is a recommended method for helping designs
meet their timing objectives
Details on each part of the flow are discussed in this course and in the
Designing for Performance course
Xilinx Design Flow 3 - 9
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Download
•
Once a design is implemented, you must create a file that the FPGA
can understand
–
•
This file is called a bitstream: a BIT file (.bit extension)
The BIT file can be downloaded directly to the FPGA, or it can be
converted into a PROM file, which stores the programming information
Xilinx Design Flow 3 - 10
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Outline
•
•
•
Xilinx Design Flow 3 - 11
For Academic Use Only
Overview
ISE
Summary
© 2003 Xilinx, Inc. All Rights Reserved
What is ISE?
•
Graphical interface to
design entry and
implementation tools
–
Access to synthesis
and schematic tools
•
–
Including third-party
synthesis tools
Implement your design
with a simple double-click
•
Xilinx Design Flow 3 - 12
Fine-tune with
easy-to-access
software options
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
WebUpdate
•
•
•
Automatically checks for Service Packs on the web
Alerts you when an update is available
Supports PC platform only
Xilinx Design Flow 3 - 13
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Creating a Project
•
•
Select File  New
Project
New Project Wizard
guides you through
the process
–
–
–
–
Project name
and location
Target device
Software flow
Create or add
source files
Xilinx Design Flow 3 - 14
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Creating and Adding
Source Files
•
•
To include an existing source file,
double-click Add Existing Source
To create a new source file,
double-click Create New Source
and choose the type of file
–
–
–
–
–
–
HDL file
IP
Schematic
State diagram
Testbench
Constraints file
Xilinx Design Flow 3 - 15
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Implementing a Design
•
To implement a design:
–
In the Sources in Project window,
select the top-level source file
•
–
HDL, schematic, or EDIF,
depending on your design flow
In the Processes for Source window,
double-click Implement Design
Xilinx Design Flow 3 - 16
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Implementation Status
•
ISE will run all of the necessary steps
to implement the design
–
–
–
–
•
Synthesize HDL code
Translate
Map
Place & Route
Progress and status are indicated by icons
–
–
–
–
Green check mark ( ) indicates that the
process was completed successfully
Yellow exclamation point ( ! ) indicates
warnings
Yellow question mark ( ? ) indicates a file
that is out of date
Red “X” indicates errors
Xilinx Design Flow 3 - 17
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Simulating a Design
•
To simulate a design:
–
–
–
In the Sources in Project window,
select a testbench file
In the Processes for Source window,
expand ModelSim Simulator
Double-click Simulate
Behavioral Model or
Simulate Post-Place & Route
Model
•
Xilinx Design Flow 3 - 18
Can also simulate after Translate
or after Map
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Sub-Processes
•
Each process can be expanded to
view sub-tools and sub-processes
–
Translate
•
•
–
Map
•
–
Floorplan
Assign Package Pins
Analyze timing
Place & Route
•
•
•
•
•
Xilinx Design Flow 3 - 19
Analyze timing
Floorplan
FPGA Editor
Analyze power
Create simulation model
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Hierarchical Simulation
Netlists
•
Create separate simulation netlists and SDF files for each level of design
hierarchy
–
–
•
•
•
Simplifies timing verification
Allows you to re-use testbenches from behavioral simulation
Hierarchy must be maintained during synthesis
Use the KEEP_HIERARCHY attribute in UCF file
For more information, see Answer #17693
Xilinx Design Flow 3 - 20
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Program the FPGA
•
There are two ways to
program an FPGA
–
Through a PROM device
•
–
You will need to generate
a file that the PROM
programmer will
understand
Directly from the computer
•
Xilinx Design Flow 3 - 21
Use the iMPACT
configuration tool
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Outline
•
•
•
Xilinx Design Flow 3 - 22
For Academic Use Only
Overview
ISE
Summary
© 2003 Xilinx, Inc. All Rights Reserved
Review Questions
•
•
•
What are the phases of the Xilinx design flow?
What are the components of implementation, and what happens
at each step?
What are two methods used to program an FPGA?
Xilinx Design Flow 3 - 23
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Answers
•
What are the phases of the Xilinx design flow?
–
•
What are the components of implementation, and what happens
at each step?
–
–
–
•
Planning and budgeting, create code or schematic, RTL simulation,
synthesize, functional simulation, implement, timing closure, timing simulation,
BIT file creation
Translate: merges multiple design files into one netlist
Map: groups logical symbols into physical components
Place & Route: places components onto the chip and connects them together
What are two methods used to program an FPGA?
–
–
PROM
Xilinx iMPACT configuration tool
Xilinx Design Flow 3 - 24
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Summary
•
•
Implementation means more than place & route
Xilinx provides a simple “pushbutton” tool to help you through the Xilinx
design process
Xilinx Design Flow 3 - 25
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved
Where Can I Learn More?
•
Complete design flow tutorials
–
•
On the phases of implementation
–
•
http://support.xilinx.com  Software Manuals  Development System
Reference Guide
On hierarchical simulation netlists
–
•
http://support.xilinx.com  Documentation  Tutorials
http://support.xilinx.com Answer #17693
Configuration Problem Solver
–
http://support.xilinx.com  Problem Solvers  Configuration Problem
Solver
Xilinx Design Flow 3 - 26
For Academic Use Only
© 2003 Xilinx, Inc. All Rights Reserved