DESIGN STRATEGIES & TOOLS UTILIZED

Similar documents
Evolution of CAD Tools & Verilog HDL Definition

FPGA Design Flow 1. All About FPGA

ISE Design Suite Software Manuals and Help

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

FPGA Based Digital Design Using Verilog HDL

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

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

Overview of Digital Design with Verilog HDL 1

Lab 3 Verilog Simulation Mapping

Synthesis Options FPGA and ASIC Technology Comparison - 1

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

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

Verilog Design Entry, Synthesis, and Behavioral Simulation

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

Using Synplify Pro, ISE and ModelSim

: : (91-44) (Office) (91-44) (Residence)

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

ChipScope Demo Instructions

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

ECE U530 Digital Hardware Synthesis. Programming Assignments

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

COE 561 Digital System Design & Synthesis Introduction

101-1 Under-Graduate Project Digital IC Design Flow

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Chapter 9: Integration of Full ASIP and its FPGA Implementation

RTL Coding General Concepts

Building Combinatorial Circuit Using Behavioral Modeling Lab

Design Methodologies and Tools. Full-Custom Design

Introduction to VHDL. Module #5 Digilent Inc. Course

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

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

Digital Design Methodology

Digital Design Methodology (Revisited) Design Methodology: Big Picture

IP Module Evaluation Tutorial

MODEL BASED HARDWARE DESIGN WITH SIMULINK HDL CODER

What is Xilinx Design Language?

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

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

INTRODUCTION TO FPGA ARCHITECTURE

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

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

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

Lab 2 Verilog Synthesis & Logic Optimization

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

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

Hierarchical Design Using Synopsys and Xilinx FPGAs

TLL5000 Electronic System Design Base Module

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

Hardware Synthesis. References

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

Xilinx Project Navigator Reference Guide

EEL 4783: Hardware/Software Co-design with FPGAs

01-1 Electronic Design Automation (EDA) The use of software to automate electronic (digital and analog) design.

Timing Analysis in Xilinx ISE

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

Digital Logic Design Lab

Lab 6 : Introduction to Verilog

Revision: August 30, Overview

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

Design Methodologies. Full-Custom Design

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

OVERVIEW OF FPGA AND EDA SOFTWARE

LSN 6 Programmable Logic Devices

Lab 1: FPGA Physical Layout

Vivado Design Suite User Guide

isplever Reed-Solomon Encoder User s Guide October 2005 ipug05_03.0

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

FPGA Block Modular Design Tutorial

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

Using the Xilinx CORE Generator in Foundation ISE 3.1i with ModelSim

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Hardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

PlanAhead Release Notes

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

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

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

Tutorial for Altera DE1 and Quartus II

CHAPTER 3 THE PROPOSED SYSTEM OF IMPLEMENTING ELLIPTIC CURVE CRYPTOGRAPHY USING VERILOG HDL

Vivado Design Suite User Guide

CMSC 611: Advanced Computer Architecture

PINE TRAINING ACADEMY

Product Obsolete/Under Obsolescence

ELEC 204 Digital System Design LABORATORY MANUAL

VHDL introduction Notes

FPGAs: FAST TRACK TO DSP

Xilinx 5.1i Incremental Design Flow

Verilog Simulation Mapping

An overview of standard cell based digital VLSI design

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

Designing with VHDL and FPGA

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

Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation

Advanced FPGA Design Methodologies with Xilinx Vivado


Transcription:

CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The internal logic blocks consist of several universal gates that can be programmed to operate like multiplexers, logic gates, transistors and random access memory. The internal cell blocks are connected through different types of devices, such as static random access memory, electrically erasable programmable read only memory, or anti-fuse [18]. In conclusion, FPGA's offer fast time-to-market, low risk, low cost, low stress, high density and high speed-performance [22]. The FPGA kit used for this project was appropriate for testing and verification and has proven to be a very important tool for successful project completion. 7-2. Verilog HDL Verilog HDL is the hardware descriptive language software that was used in this RISC design. It has syntax very similar to the high-level language known as 'C'. Hardware design languages such as Verilog allow designers to model the concurrence of processes found in hardware elements. Initially, HDL's were popular for logic verification but proved difficult to manually translate the HDL-based design into a 99

schematic circuit with interconnections between gates. The advent of logic synthesis tools such as Synplify by Synopsis Inc. and ModelSim by Mentor Graphics Inc., pushed HDL's into the forefront of digital design. Hardware design languages have many advantages compared to traditional schematic-based design. For example, - Designers can write the software without choosing a specific fabrication technology and Logic Synthesis tools can automatically convert the design to any fabrication technology. - Functional verification of the design can be done early in the design cycle. Most design bugs can be eliminated at this point [16]. The design strategy is shown in Figure 7.1, below. Figure 7.1: Top-Down Design. 100

7-3. Bottom up Vs Top down design Verilog has two main design flow capabilities known as top-down and bottom-up design. In a top-down design methodology, the top-level block is defined and then sub-blocks are created as necessary. In a bottom-up design methodology, the building blocks that are available are defined. Bigger cells are built using these building blocks and these cells are then used for higher-level blocks to eventually build the top-level block in the design. This particular project uses a bottom-up design flow methodology. The preliminary design strategy consisted of creating a module for each hardware entity. Verilog provides the concept of a module. A module provides the necessary functionality to the higher-level block through its port interface (inputs and outputs), but hides the internal implementation. There is a module for the Arithmetic Logic Unit, Latch, Transceiver, Tristate Buffer, Register, Display and Control Unit. These hardware blocks were used to create the higher level block of the processor, thus creating a top-level hierarchy that behaves like a processor [16]. 7-4. Stimulus One of the major advantages of designing using hardware design languages is the ability to test the design without ever moving outside the Verilog environment. This can be accomplished by applying the stimulus and checking the results. In Verilog, this type of block is known as the Stimulus Block. The Stimulus block is a block of Verilog code that instantiates the design block and directly drives the signals that control the processor. Figure 7.2 illustrates how the stimulus block was used to become the temporary top-level block during testing. Throughout the design process for the RISC machine, there have been numerous stimulus blocks created as the design progressed. 101

Figure 7.2: Stimulus Block Structure. 7-5. Xilinx Tools Three primary tools made by Xilinx were used in the design flow for realizing and optimizing the RISC design and the XST is used for synthesizing the designed into a netlist. 7.5-1. ISE PROJECT NAVIGATOR The Xilinx-ISE Project Navigator as shown in Figure 7.3 provides the basic platform for the design development of the '.v' file designed by the user. At this point the designer should be ready to define the speed, size of the target device. This tool also provides the necessary interface for accessing other development tools. 102

Figure 7.3: ISE Project Navigator. 7.5-2. XILINX SYNTHESIS TECHNOLOGY (XST) You can synthesize your design once design files have been created. The synthesis process will check code syntax, and analyze the hierarchy of your design. These processes will ensure your design is optimized for the design architecture you have selected. The synthesis process can be used with the following synthesis technology tools. Xilinx Synthesis Technology (XST) LeonardoSpectrum from Mentor Graphics Inc. Synplify and Synplify Pro from Synplicity Inc. 103

LeonardoSpectrum from Mentor Graphics, Inc, and Synplify and Synplify Pro from Synplicity Inc. can be purchased separately as synthesis programs. When these synthesis programs are installed, ISE provides the necessary interface to use the Xilinx implementation tools. First select the source file in the Sources in Project window you want to synthesize and then double-click on the Synthesize process in the Processes for Source window. All processes necessary to successfully complete the Synthesis process run automatically. XST will create an NGC file and place it in your project directory. Default property values are used for the synthesize process unless you modify them. You can set the Synthesis Property Options in the Process Properties dialog box. XST is executed from the main window of Xilinx-ISE Project Navigator. When the HDL code is completed with Verilog there are several steps that must be performed in order to synthesize the HDL design. The "check_syntax" command verifies the design and identifies any errors to be corrected. Using XST can be a very time consuming task and for this particular design, it took approximately one or two minutes to create a netlist file. The RTL schematic option will display the graphical structure of the verilog code as shown in Figure 7.4. 104

Figure 7.4: XST Synthesis Tool. 7.5-3. FLOOR PLANNER The Xilinx Floor Planner tool can be used to view the interconnection between the CLBs in the FPGA and monitor the consumed surface area of the FPGA. The Xilinx Flow Engine tool translates a XST NGC gate-level netlist file into the FPGA chip specific gate-level, based on the chip's libraries. This tool is activated by selecting "Design-> Implement" from the Xilinx-ISE Project Navigator window as shown in figure. 105

The Map, Place & Route stages of the Flow Engine tool maps the gate level design into CLBs (Cell Logic Blocks). The tool then determines where to place and route each of the design CLBs for optimal mapping and timing. The designer can select the effort level on how to best fit the design into the chip, area-wise and/or timing-wise. Figure 7.5: Xilinx Floor Planner Tool. The Generate Timing report tool will determine the maximum and minimum timing delays through gates of the design. The maximum guaranteed speed (MHz) at which the design should be run is reported by the tool at this stage. 7.5-4. GENERATE PROGRAMMING FILE The Generate Programming File tool then completes the design development cycle by creating a '.bit' file which can be downloaded via the LPT Cable using the impact tool as shown in below figure or the tools provided by the Xess 106