Xilinx Design Flow

25
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop

description

Xilinx Design Flow. FPGA Design Flow Workshop. 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. Outline. Overview ISE Summary. Xilinx Design Flow. Create Code/ - PowerPoint PPT Presentation

Transcript of Xilinx Design Flow

Page 1: Xilinx Design Flow

© 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Xilinx Design FlowFPGA Design Flow Workshop

Page 2: Xilinx Design Flow

Xilinx Design Flow 3 - 2 © 2003 Xilinx, Inc. All Rights ReservedFor 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

Page 3: Xilinx Design Flow

Xilinx Design Flow 3 - 3 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Outline

• Overview• ISE• Summary

Page 4: Xilinx Design Flow

Xilinx Design Flow 3 - 4 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Translate

Map

Place & Route

Xilinx Design Flow

Plan & Budget HDL RTLSimulation

Synthesizeto create netlist

FunctionalSimulation

CreateBit File

Attain Timing Closure

TimingSimulation

Implement

Create Code/Schematic

Page 5: Xilinx Design Flow

Xilinx Design Flow 3 - 5 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

HDL RTLSimulation

Synthesizeto create netlist

FunctionalSimulation

. . .

Page 6: Xilinx Design Flow

Xilinx Design Flow 3 - 6 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Xilinx Implementation

• Once you generate a netlist, you can implement the design

• There are several outputs of implementation

– Reports– Timing simulation netlists– Floorplan files– FPGA Editor files– and more!

Translate

Map

Place & Route

Implement

. . .

.

.

.

Page 7: Xilinx Design Flow

Xilinx Design Flow 3 - 7 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

– Floorplanner, FPGA Editor, XPower

Page 8: Xilinx Design Flow

Xilinx Design Flow 3 - 8 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

Page 9: Xilinx Design Flow

Xilinx Design Flow 3 - 9 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

Page 10: Xilinx Design Flow

Xilinx Design Flow 3 - 10 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Outline

• Overview• ISE• Summary

Page 11: Xilinx Design Flow

Xilinx Design Flow 3 - 11 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

• Fine-tune with easy-to-access software options

Page 12: Xilinx Design Flow

Xilinx Design Flow 3 - 12 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

WebUpdate

• Automatically checks for Service Packs on the web• Alerts you when an update is available• Supports PC platform only

Page 13: Xilinx Design Flow

Xilinx Design Flow 3 - 13 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

Page 14: Xilinx Design Flow

Xilinx Design Flow 3 - 14 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Creating and AddingSource 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

Page 15: Xilinx Design Flow

Xilinx Design Flow 3 - 15 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

Page 16: Xilinx Design Flow

Xilinx Design Flow 3 - 16 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

Page 17: Xilinx Design Flow

Xilinx Design Flow 3 - 17 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

• Can also simulate after Translate or after Map

Page 18: Xilinx Design Flow

Xilinx Design Flow 3 - 18 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Sub-Processes

• Each process can be expanded to view sub-tools and sub-processes

– Translate• Floorplan• Assign Package Pins

– Map• Analyze timing

– Place & Route• Analyze timing• Floorplan • FPGA Editor• Analyze power• Create simulation model

Page 19: Xilinx Design Flow

Xilinx Design Flow 3 - 19 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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

Page 20: Xilinx Design Flow

Xilinx Design Flow 3 - 20 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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• Use the iMPACT

configuration tool

Page 21: Xilinx Design Flow

Xilinx Design Flow 3 - 21 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Outline

• Overview• ISE• Summary

Page 22: Xilinx Design Flow

Xilinx Design Flow 3 - 22 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

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?

Page 23: Xilinx Design Flow

Xilinx Design Flow 3 - 23 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Answers

• What are the phases of the Xilinx design flow?– Planning and budgeting, create code or schematic, RTL simulation,

synthesize, functional simulation, implement, timing closure, timing simulation, BIT file creation

• What are the components of implementation, and what happens at each step?

– 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

Page 24: Xilinx Design Flow

Xilinx Design Flow 3 - 24 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Summary

• Implementation means more than place & route

• Xilinx provides a simple “pushbutton” tool to help you through the Xilinx design process

Page 25: Xilinx Design Flow

Xilinx Design Flow 3 - 25 © 2003 Xilinx, Inc. All Rights ReservedFor Academic Use Only

Where Can I Learn More?

• Complete design flow tutorials– http://support.xilinx.com Documentation Tutorials

• On the phases of implementation– http://support.xilinx.com Software Manuals Development System

Reference Guide• On hierarchical simulation netlists

– http://support.xilinx.com Answer #17693• Configuration Problem Solver

– http://support.xilinx.com Problem Solvers Configuration Problem Solver