FPGA Design Flow 1. All About FPGA

Similar documents
Chapter 9: Integration of Full ASIP and its FPGA Implementation

DESIGN STRATEGIES & TOOLS UTILIZED

FPGA Design Flow. - from HDL to physical implementation - Victor Andrei. Kirchhoff-Institut für Physik (KIP) Ruprecht-Karls-Universität Heidelberg

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

ISE Design Suite Software Manuals and Help

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

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

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010

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!

TLL5000 Electronic System Design Base Module

Programmable Logic Devices HDL-Based Design Flows CMPE 415

PlanAhead Release Notes

EECS 151/251A FPGA Lab Lab 2: Introduction to FPGA Development + Creating a Tone Generator

Hardware Synthesis. References

What is Xilinx Design Language?

Xilinx Project Navigator Reference Guide

CCE 3202 Advanced Digital System Design

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

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

PINE TRAINING ACADEMY

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

ELEC 204 Digital System Design LABORATORY MANUAL

Implementation of Ripple Carry and Carry Skip Adders with Speed and Area Efficient

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

Field Programmable Gate Array

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

Lab 1: FPGA Physical Layout

FPGA Design Tutorial

Quick Front-to-Back Overview Tutorial

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

EE 361L Digital Systems and Computer Design Laboratory

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

An Incremental Trace-Based Debug System for Field-Programmable Gate-Arrays

Verilog Design Entry, Synthesis, and Behavioral Simulation

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

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

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Introduction to Field Programmable Gate Arrays

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

Partial Reconfiguration Tutorial. PlanAhead Design Tool

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

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

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

Don t expect to be able to write and debug your code during the lab session.

Overview of Digital Design Methodologies

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

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

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

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

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

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

Building Combinatorial Circuit Using Behavioral Modeling Lab

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

FPGA Based Digital Design Using Verilog HDL

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

A Brief Introduction to Verilog Hardware Definition Language (HDL)

Synthesis Options FPGA and ASIC Technology Comparison - 1

Evolution of CAD Tools & Verilog HDL Definition

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

Programmable Logic Devices

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

Chapter 1 Overview of Digital Systems Design

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS

Advanced module: Video en/decoder on Virtex 5

An easy to read reference is:

RTL Coding General Concepts

Introduction to Verilog HDL

RTL and Technology Schematic Viewers Tutorial. UG685 (v13.1) March 1, 2011

Verilog Simulation Mapping

CHAPTER-IV IMPLEMENTATION AND ANALYSIS OF FPGA-BASED DESIGN OF 32-BIT FPAU

CS 250 VLSI Design Lecture 11 Design Verification

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

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

CCE 3202 Advanced Digital System Design

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation)

Designing with VHDL and FPGA

PlanAhead Software Tutorial

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

2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502

Command Line Tools User Guide

Design of Convolution Encoder and Reconfigurable Viterbi Decoder

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011


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

AL8253 Core Application Note

Evaluation of the RTL Synthesis Tools for FPGA/PLD Design. M.Matveev. Rice University. August 10, 2001

EE 1315: DIGITAL LOGIC LAB EE Dept, UMD

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

Design Methodologies and Tools. Full-Custom Design

FPGA: What? Why? Marco D. Santambrogio

Lab 3 Finite State Machines Movie Ticket Dispensing Machine

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

Xilinx Tutorial Basic Walk-through

Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Product Obsolete/Under Obsolescence

475 Electronics for physicists Introduction to FPGA programming

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Lab 6 : Introduction to Verilog

Transcription:

FPGA Design Flow 1 In this part of tutorial we are going to have a short intro on FPGA design flow. A simplified version of FPGA design flow is given in the flowing diagram.

FPGA Design Flow 2 FPGA_Design_FLOW Design Entry There are different techniques for design entry. Schematic based, Hardware Description Language and combination of both etc.. Selection of a method depends on the design and designer. If the designer wants to deal more with Hardware, then Schematic entry is the better choice. When the design is complex or the designer thinks the design in an algorithmic way then HDL is the better choice. Language based entry is faster but lag in performance and density. HDLs represent a level of abstraction that can isolate the designers from the details of the hardware implementation. Schematic based entry gives designers much more visibility into the hardware. It is the better choice for those who are hardware oriented. Another method but rarely used is state-machines. It is the better choice for the designers who think the design as a series of states. But the tools for state machine entry are limited. In this documentation we are going to deal with the HDL based design entry. Synthesis The process which translates VHDL or Verilog code into a device netlist formate. i.e a complete circuit with logical elements( gates, flip flops, etc ) for the design.if the design contains more than one sub designs, ex. to implement a processor, we need a CPU as one design element and RAM as another and so on, then the synthesis process generates netlist for each design element Synthesis process will check code syntax and analyze the hierarchy of the design which ensures that the design is optimized for the design architecture, the designer has selected. The resulting netlist(s) is saved to an NGC( Native Generic Circuit) file (for Xilinx Synthesis Technology (XST)).

FPGA Design Flow 3 Xilinx_Synthesis Implementation This process consists a sequence of three steps 1. Translate 2. Map 3. Place and Route Translate process combines all the input netlists and constraints to a logic design file. This information is saved as a NGD (Native Generic Database) file. This can be done using NGD Build program. Here, defining constraints is nothing but, assigning the ports in the design to the physical elements (ex. pins, switches, buttons etc) of the targeted device and specifying time requirements of the design. This information is stored in a file named UCF (User Constraints File). Tools used to create or modify the UCF are PACE, Constraint Editor etc. FPGA_Transulate FPGA Translate Map process divides the whole circuit with logical elements into sub blocks such that they can be fit into the FPGA logic blocks. That means map process fits the logic defined by the NGD file into the targeted FPGA elements (Combinational Logic Blocks (CLB), Input Output Blocks (IOB)) and generates an NCD (Native Circuit Description) file which physically represents the design mapped to the components of FPGA. MAP program is used for this purpose.

FPGA Design Flow 4 FPGA_Mapping with Static timing analysis Place and Route PAR program is used for this process. The place and route process places the sub blocks from the map process into logic blocks according to the constraints and connects the logic blocks. Ex. if a sub block is placed in a logic block which is very near to IO pin, then it may save the time but it may effect some other constraint. So trade off between all the constraints is taken account by the place and route process The PAR tool takes the mapped NCD file as input and produces a completely routed NCD file as output. Output NCD file consists the routing information. FPGA place and route FPGA Place and route Device Programming Now the design must be loaded on the FPGA. But the design must be converted to a format so that the FPGA can accept it. BITGEN program deals with the conversion. The routed NCD file is then given to the BITGEN program to generate a bit stream (a.bit file) which can be used to configure the target FPGA device. This can be done using a cable. Selection of cable depends on the design. Design Verification

FPGA Design Flow 5 Verification can be done at different stages of the process steps. Behavioral Simulation (RTL Simulation) This is first of all simulation steps; those are encountered throughout the hierarchy of the design flow. This simulation is performed before synthesis process to verify RTL (behavioral) code and to confirm that the design is functioning as intended. Behavioral simulation can be performed on either VHDL or Verilog designs. In this process, signals and variables are observed, procedures and functions are traced and breakpoints are set. This is a very fast simulation and so allows the designer to change the HDL code if the required functionality is not met with in a short time period. Since the design is not yet synthesized to gate level, timing and resource usage properties are still unknown. Functional simulation(post Translate Simulation) Functional simulation gives information about the logic operation of the circuit. Designer can verify the functionality of the design using this process after the Translate process. If the functionality is not as expected, then the designer has to made changes in the code and again follow the design flow steps. Static Timing Analysis This can be done after MAP or PAR processes Post MAP timing report lists signal path delays of the design derived from the design logic. Post Place and Route timing report incorporates timing delay information to provide a comprehensive timing summary of the design.