Tutorial on FPGA Design Flow based on Xilinx ISE Webpack andisim. ver. 1.0

Similar documents
Tutorial on FPGA Design Flow based on Xilinx ISE WebPack and ModelSim. ver. 2.0

Tutorial on FPGA Design Flow based on Aldec Active HDL. ver 1.7

Tutorial on FPGA Design Flow based on Xilinx ISE Webpack and ModelSim. ver. 1.5

Tutorial on FPGA Design Flow based on Xilinx ISE Webpack and ModelSim. ver. 1.3

Tutorial on FPGA Design Flow based on Aldec Active HDL. ver 1.6

Tutorial on FPGA Design Flow based on Aldec Active HDL. Ver 1.5

Tutorial on FPGA Design Flow based on Aldec Active HDL. Ver 1.5

Circuit design with configurable devices (FPGA)

Nexys 2/3 board tutorial (Decoder, ISE 13.2) Jim Duckworth, August 2011, WPI. (updated March 2012 to include Nexys2 board)

ECE 4305 Computer Architecture Lab #1

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation)

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board.

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

ELEC 204 Digital System Design LABORATORY MANUAL

Xilinx ISE Synthesis Tutorial

Getting Started with Xilinx WebPack 13.1

Xilinx Project Navigator Reference Guide

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4

Quick Front-to-Back Overview Tutorial

Xilinx ISE8.1 and Spartan-3 Tutorial EE3810

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0

Building Combinatorial Circuit Using Behavioral Modeling Lab

EE 1315 DIGITAL LOGIC LAB EE Dept, UMD

Tutorial: Working with the Xilinx tools 14.4

4. Verify that HDL is selected as the Top-Level Source Type, and click Next. The New Project Wizard Device Properties page appears.

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

TLL5000 Electronic System Design Base Module

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!

Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices

Nexys 2 board tutorial (Decoder, ISE 12.2) Jim Duckworth, August 2010, WPI. Digilent Adept Programming Steps added by Zoe (Zhu Fu)

Laboratory #Intro to Xilinx ISE and CR-2 Kit ECE 332

Xilinx Tutorial Basic Walk-through

Using Synplify Pro, ISE and ModelSim

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i

XILINX ISE AND SPARTAN 3AN TUTORIAL

Lab 1: Introduction to Verilog HDL and the Xilinx ISE

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010

Xilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006)

XILINX WebPack -- testing with Nexys2 boards at USC (EE201L)

Banks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme]

CCE 3202 Advanced Digital System Design

ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

PlanAhead Release Notes

1. Downloading. 2. Installation and License Acquiring. Xilinx ISE Webpack + Project Setup Instructions

COS/ELE 375 Verilog & Design Tools Tutorial

Verilog Design Entry, Synthesis, and Behavioral Simulation

Xilinx ISE Simulation Tutorial

CPLD Experiment 4. XOR and XNOR Gates with Applications

ECT 224: Digital Computer Fundamentals Using Xilinx StateCAD

Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation

FPGA Design Tutorial

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

VHDL introduction Notes

Implementing a Verilog design into the UWEE CPLD Development Board Using Xilinx s ISE 7.1i Software: A Tutorial

OVERVIEW OF FPGA AND EDA SOFTWARE

2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog

Xilinx ChipScope ICON/VIO/ILA Tutorial

ISE Design Suite Software Manuals and Help

Introduction. In this exercise you will:

Lab 3 Finite State Machines Movie Ticket Dispensing Machine

Lab 3: Xilinx PicoBlaze Flow Lab Targeting Spartan-3E Starter Kit

An easy to read reference is:

CECS LAB 1 Introduction to Xilinx EDA Tools

ELEC 4200 Lab#0 Tutorial

University of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1

Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board

Verilog Module Tutorial By TA Brian W. Stevens CMPE415 UMBC Spring 2015 Dr. Tinoosh Mohsenin

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

FPGA Design Flow 1. All About FPGA

PlanAhead Software Tutorial

MANUAL XILINX ISE PROJECT NAVIGATOR

Introduction to Verilog and XILINX

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim

Using the ChipScope Pro for Testing HDL Designs on FPGAs

Department of Electrical and Computer Engineering Xilinx ISIM <Release Version: 14.1i> Simulation Tutorial Using Verilog

Programmable Logic Design I

Xilinx Schematic Entry Tutorial

Introduction to WebPACK 3.1. Using XILINX WebPACK Software to Create CPLD Designs

Adding the ILA Core to an Existing Design Lab

ISE Simulator (ISim) In-Depth Tutorial. UG682 (v 13.1) March 1, 2011

Introduction to WebPACK 8.1. Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board

RTL Design and IP Generation Tutorial. PlanAhead Design Tool

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation

Programmable Logic Design I

Timing Analysis in Xilinx ISE

Vivado Design Suite Tutorial. Design Flows Overview

The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively.

Introduction to WebPACK 5.2 for FPGAs. Using Xilinx WebPACK Software to Create FPGA Designs for the XSB-300E Board

WebPACK ISE DESIGN SOFTWARE

475 Electronics for physicists Introduction to FPGA programming

Chapter 9: Integration of Full ASIP and its FPGA Implementation

Introduction to WebPACK 6.3. Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board

Transcription:

Tutorial on FPGA Design Flow based on Xilinx ISE Webpack andisim ver. 1.0 1

Prepared by Malik Umar Sharif and Dr. Kris Gaj The example codes used in this tutorial can be obtained from http://ece.gmu.edu/coursewebpages/ece/ece448/s11/labs/448_lab3.htm The current version of the tutorial was tested using the following tools: Toolset Xilinx ISE Webpack Version : 14.2 Synthesis Tool ISE&WebpackSynthesis&Implementation Version : 14.2 Implementation Tool Xilinx ISE/WebPack Version : 14.2 Simulation Tool ISim (Bundled with Xilinx ISE 14.2) 2

Table of Contents 1. Project Settings 4 2. Behavioral Simulation 11 3. Synthesis and Implementation 12 3.1 Synthesis with Xilinx XST 12 3.2 Synthesis with Synplify Premier DP 14 3.3 Translate 19 3.4 Post-Translate Simulation 19 3.5 Map 20 3.6 Place and Route 22 3.7 Post Place and Route Simulation 22 3.8 Implementation Reports 23 4. Specifying Frequency/ Time period using User Constraints 24 5. Optimization strategies 26 6. Pin Assignment 29 7. Bit Stream Generation 32 8. Uploading Bitstream to FPGA Board 33 3

1. Project Settings To Start Xilinx ISE in the ECE Labs go to: Start->All Programs-> VLSI Tools->Xilinx ISE <version-number>->ise Design Tools ->Project Navigator At home, adjust the path accordingly based on your installation. To start new Project go to: menu File->New Project 4

Specify Project Name and location for project files 5

Click Nextand specify Family : Xilinx <version number>x Spartan3E Device : XC3S100E Package : cp132 Speed Grade : -5 Simulator : ISim 6

7

Click Finish and then Add Source. Choose files for the project. 8

Then click Ok. Your project has been defined. 9

10

2. Behavioral simulation Change the view from Implementation to Simulation by click on the radio button beside simulation.in the Design Menu we choose BehavioralSimulation. The testbench for this design was set as a top level. In the Processes menu choose ISim Simulator, Simulate Behavioral Model, right-click and choose Run. Click on test bench file and it will automatically show the simulator options in the processes window Double click on Simulate Behavioral Model to launch ISim simulator It will launch ISim simulator automatically and waveform for behavioral simulation will appear. 11

3. Synthesis 3.1 Synthesis with Xilinx XST Click on your top-level file (lab3_demo in our case). It will show synthesis and implementation options in the processes window. Click Check Syntaxunder the synthesis option to check if vhdl sources are properly coded. 12

After the syntax check is done, double click on synthesis option to synthesize your design. A green tick will appear showing that the synthesis is successfully completed. When Synthesis process is completed, the report from synthesis becomes available. Some of the most important features of the design are the minimum clock period and the maximum clock frequency. We can find these two parameters in the report file from Synthesis. Please remember that the values of these parameters after synthesis are different than the values of the same parameters after implementation.the other important information we can find in this report is the amount of FPGA resources your design requires. 13

Generate post-synthesis simulation model by clicking on the option available under synthesis. 14

After Synthesis and generation of Post-Synthesis Simulation Model were completed successfully, we can start Implementation part. 3.2 Synthesis with Synplify Premier DP Go to edit menu and click on Preferences. Once a new Preferences window pops up, select Integrated Tools under Category and ISE General option. Set the path for Synplify Premier DP under the synthesis tool "Synplify". Click Apply to save the settings and then click OK. Go to Project menu and click on Design Properties. A new window pops up for Design properties. Go to synthesis tool and click on drop down menu to select Synplify (VHDL). Click OK to save the settings. 15

Now you can observe that the synthesis tool changes automatically in the processes menu. Double click on the Synthesize - Synplify to run synthesis using Synplify Premier DP. You can also view RTL and technology view of the schematic. Once you double click on View RTL Schematic, it will automatically invoke the tool "Synplify Premier DP ". 16

Finding the Critical path of the design: Click on Run to start the synthesis inside Synplify Premier DP. Click to Technology view icon, followed by Show Critical path button to see the critical path of your design Click to Technology view icon, followed by Show Critical path button to see the critical path of your design 17

Go to View menu and click on View Log File. It will open a window and will show you following options: Select compiler report and go down to see the performance summary for the maximum frequency and minimum clock period of the design, estimated after synthesis. Now click on Resource Utilization to see the summary of device utilization in terms of different resources utilized by your design. 18

Implementation: Double click on the implementation menu to start the implementation. It will automatically do translate, map and place & route one after the other. Make sure to see the green tick with each option to show that they are successfully completed. 19

You can individually run each option (translate, map and place & route) one by one to better understand the design flow. 3.3 Translate The first step in the Xilinx Design Flow for implementation is Translate. Under Implement Designoption, choose Translate, and then Run. If you are successful with this part you should generate Post Translate Simulation Model. 3.4 Post-Translate Simulation Double-click on Generate Post-Translate SimulationModelunder translate option. Change the view from Implementation to Simulation by click on the radio button beside simulation. 20

Change Behavioral to Post-Translate option here Click on test bench file. It will automatically show the ISim Simulator under Processes. Double click on the Simulate Post- Translate Model option Double click on the Simulate Post-Translate Model option. It will launch ISim simulator automatically and waveform for post-translate simulation will appear. 3.5 Map Change the view from Simulation toimplementation by click on the radio button beside Implementation. Under 21

Implement Design option, double click on Mapto start mapping process. Post-Map Simulation When you right-click on Generate Post-Map SimulationModel then pop-up menu appears. Choose Run to start.change the view from Implementation to Simulation by click on the radio button beside simulation. Change Post- Translate to Post- Map option here Click on test bench file. It will automatically show the ISim Simulator under Processes. Double click on the Simulate Post- Translate Model option Double click on the Simulate Post-Map Model option. It will launch ISim simulator automatically and waveform for post-map simulation will appear. 22

23

3.6 Place and Route Click on radio button beside Implementation to switch to implementation mode. From the Implement Design menu, choose Place and Route. Double click to start place and route process. After that, double click on Generate Post Place and Route Simulation Model to run it. 3.7 Post Place and Route (Timing) Simulation Double click on Generate Post-Map Simulation Model then pop-up menu appears to run it. Change the view from Implementation to Simulation by click on the radio button beside simulation. Change Post-Mapto Post-Route option here Click on test bench file. It will automatically show the ISim Simulator under Processes. Double click on the Simulate Post-Place & Route Model option Double click on the Simulate Post-Place & Route Model option. It will launch ISim simulator automatically and waveform for post-place & route simulation will appear. 24

3.8 Implementation Reports Review the Implementation Reports shown in the following pages. They are available under Design Summary. 25

. 4. Specifying Frequency/ Time period using User Constraints: Go to menu Sources for and change this option to Synthesis/Implementation. 4.1 Requesting Synthesis clock frequency: In order to apply timing constraints on the design during the synthesis phase, we specify constraints in.xcf file. Create a new file in any text editor and save it with the extension (.xcf) with the clock period settings as per the design requirement. 26

e.g., NET "clk" PERIOD = 3.82 ns; provide the path for synthesis constraint file (.xcf) to include it for synthesis constraints. 4.2 Requesting Implementation clock frequency: In order to apply timing constraints on the design during the implementation phase, we specify constraints in.ucf file. Create a new file in any text editor and save it with the extension (.ucf) with the clock period settings as per the design requirement. e.g., NET "clk" PERIOD = 3.82 ns; Go to Project and click on Add source. Browse and select the.ucf file by giving path to the specific ucf file. Click OK to add the ucf file to the project. 27

4.3 Obtaining textual representation of critical path using Timing analyzer (after place & route): Go to Tools menu and then click on Timing Analyzer and select Post Place and Route option. It will automatically include one more tab Timing in the menu. Click on Timing menu and then select Run Analysis. 4.3.1 Choosing between default (auto-generated) or user-defined constraints: The second setting in the Run Timing Analysis is Analyze again where you can specify through a drop down menu whether you want to specify any constraint on the design or you want to use default (auto-generated) constraint of the tool. As we have already specified the timing constraint in the ucf file for the sample design here, tool will show the constraints that are applied in the ucf file (lab_demo_ucf.ucf). Click OK to see the text report about the timing result after place route. If you have already specified the timing information in the ucf file, choose the default (auto-generated) timing constraints from the tool. 28

29 selection between auto-generated and user-defined timing constraints

Scroll down till the end of the file (Analysis 1.twx) to see the timing summary that includes minimum period and maximum frequerncy of the design after place and route. As we did not change the Report options, the tool will automatically show the timing information of the paths that have the biggest slack (worst critical path). Search for minimum period in the.twx file from all three paths and choose the one that matches the maximum period shown in the timing summary. It will also have the corresponding critical path information of your design after place and route along with it in the text format. 30

5. Optimization strategies: Right click on the synthesis and implemention options in processes menu and then choose process properties to select a complete list of optimization strategies. 31

32

Print the output waveform in PDF format: In order to view all the important details of the behavioral, post-synthesis, post-translate, post-map and post-place & route simulations in waveform in PDF format, use 3rd part tools (PDF creator, PDF Lite etc). Go to file menu and click on the print menu. A pop up will appear that will give you the option to select time range (full range or for a specific range) and an option to fit time range into 1 or multiple pages. Click OK and chose PDF Lite or any other tool to do PDF conversion. After completing the print setup, a new window pops up and ask you to save the file in PDF format. 33

Here is the output waveform of post-translate simulation in PDF format. 34

Note: Remaining two sections apply only to users that target specific FPGA boards (e.g., ECE-448 students) 6. Pin Assignment: Go to menu Sources for and change this option to Synthesis/Implementation. Click on Assign Package Pins. The User Constraint File (UCF) will be created if you decide to assign design port names to the physical pins. Columns I/O Names and I/O Descriptions represent ports from your design. The Loc column should be used to input the location of the corresponding pin in the FPGA device. 35

36

We can specify Pin Assignments by going to User Constraint menu. We can assign design port names to the physical pins of a chosen device by option Edit Constraints (Text). Keyword NET is for a port name assignment and keyword LOC is for a physical pin assignment. 37

7. Bit Stream Generation Go to menu Sources for and change this option to Synthesis/Implementation. Choose Generate Programming File, do right-click and pop-up menu should appear. Choose Run to start bit generation process. 38

8. Uploading Bitstream to FPGA Board Before uploading Bit file, make sure that you change your constant values in all your files to proper values, and re-synthesize/re-implement all the files. In particular, in our example, please change the value of the constant slow_clock_period in the Lab3Demo_package.vhd. Select the Adept program as shown in the picture above. When the program is opened, a device will be shown if it is connected and recognized. Select the bit file by clicking Browse and finding the appropriate file. Click Program to program the file device. 39

40