Dept. of Electrical and Computer Engineering

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
© 2003 Xilinx, Inc. All Rights Reserved Architecture Wizard and PACE FPGA Design Flow Workshop Xilinx: new module Xilinx: new module.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
Digital System Design EEE344 Lecture 1 INTRODUCTION TO THE COURSE
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
© 2003 Xilinx, Inc. All Rights Reserved Reading Reports Xilinx: This module was completely redone. Please translate entire module Some pages are the same.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Xilinx and Nexys2 Tutorial Kartik Mohanram Dept. of Electrical and Computer Engineering Rice University, Houston, TX.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
1 Introduction to Xilinx ISL8.1i Schematic Capture and VHDL 1.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
1 Introduction to Xilinx ISL8.1i & 11.1 Schematic Capture 1.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Synopsys Custom Designer Tutorial for a chip integration using the University of Utah Standard Cell Libraries In ON Semiconductor 0.5u C5 CMOS Version.
OVERVIEW OF OVERVIEW OF Spartan-3. DESIGNFLOW Translate Map Place & Route Plan & Budget HDL RTL Simulation Synthesize to create netlist Functional Simulation.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Lecture #2 Page 1 ECE 4110– Sequential Logic Design Lecture #2 Agenda 1.Logic Design Tools Announcements 1.n/a.
Programmable Logic Training Course HDL Editor
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
FPGA CAD 10-MAR-2003.
11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Teaching Digital Logic courses with Altera Technology
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Introduction to the FPGA and Labs
VLSI Synthesis and Simulation Tools Nitin Yogi 01/09/2009
EGR 2131 Unit 4 Combinational Circuits: Analysis & Design
Introduction to Vivado
ASIC Design Methodology
Lab 1: Using NIOS II processor for code execution on FPGA
The first change to your project files that is needed is to change the device to the correct FPGA. This is done by going to the Assignments tab on the.
Using Xilinx ChipScope Pro Tools
M1.5 Foundation Tools Xilinx XC9500/XL CPLD
A tutorial guide to start with ISE
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
ECE 4110–5110 Digital System Design
FPGA Implementation of Multicore AES 128/192/256
Getting Started with Programmable Logic
Reconfigurable Computing
Week 5, Verilog & Full Adder
Introduction to Verilog
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Getting Started with Vivado
A Step-By-Step Description of the Synplicity Flow
Digital Fundamentals Tenth Edition Floyd Chapter 11.
A Step-By-Step Description of the Synplicity Flow
Founded in Silicon Valley in 1984
UCSD ECE 111 Prof. Farinaz Koushanfar Fall 2017
THE ECE 554 XILINX DESIGN PROCESS
The Xilinx Alliance 3.3i software
The Xilinx Alliance 3.3i software
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Dept. of Electrical and Computer Engineering Digital Logic Design Kartik Mohanram Dept. of Electrical and Computer Engineering Rice University

Verilog synthesis & simulation with Xilinx Project Navigator ELEC 326 Digital Logic Design

Opening a new project called ic Choose a working directory (E:\...\Verilog) and name the top level module there (ic) ELEC 326 Digital Logic Design

Device options, etc. for synthesis & mapping The next step is to select the target device and its specs from the board (Spartan2E, xc2s200e, pq208); to specify Verilog as the input HDL language; and to specify ModelSim as the simulator of choice. etc. ELEC 326 Digital Logic Design

Adding new Verilog source Create a new top level module ic in the project ELEC 326 Digital Logic Design

Grind through to initialize project directory ELEC 326 Digital Logic Design

Enter the source Use bottom tabs to select the source file, key in the Verilog description, and save it Design constraints, actions (synthesis & implementation), and bit-file generation ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Assigning pinouts Area and timing constraints are usually used to meet area-performance-power goals The “Assign Package Pins” utility allows us to leverage the switches, LEDs, etc. on the board to interact with the implemented design (see documentation on 326 page too) ELEC 326 Digital Logic Design

UCF file to map pins The mapping assigns switch 1 (available on pin P162) to input a, etc. These mappings will be provided to you as part of the project documentation. ELEC 326 Digital Logic Design

Adding the enable pin for the LED The LEDs are gated and require an additional global gating signal that is tied to VDD. Add this to your top-level module and incorporate this into your pin assignments and save the constraints file. Accept the default bus delimiter options and exit. ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Synthesis Select the ic module and double-click the “Synthesize – XST” button. Note that Xilinx displays all allowed options for the selected file in the project. For example, selecting the ic.ucf file does not provide options like synthesis, etc. since it really is not a Verilog module. Synthesis will take some time – if it is succesful, you will see a green check-mark. You can expand the synthesis tab and look at the synthesis report, warnings, critical path delay, etc. ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Synthesis During synthesis, the bottom window provides a running commentary of sorts. The example on the right shows that the path delay, as estimated after synthesis, is 7.937 ns ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Synthesis Expanding the synthesis tab View the RTLschematic (allows you to see if what-you-expected-is-what-Xilinx-synthesized) Technology schematic provides LUT-based schematic FPGAs use programmable look-up tables to implement the design, as opposed to gates Read the synthesis report – we will cover some aspects in class ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Implement the design Double-click the “Implement Design” option, with ic.v selected There are several steps, including translate, map, and place-and-route. These are key post-synthesis steps in any design flow These steps really take a technology-independent post-synthesis netlist and move it closer to the physical (technology-dependent) realization There are similarities to program compilation Industry actually uses FPGA-based prototyping heavily and relies heavily on optimization during the implementation process to fine-tune the performance of the design However, if your original design is wanting, the synthesized netlist is wanting, and no amount of optimization can make up for that Moral of the story – write good and efficient Verilog ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Implementation A green-check mark indicates successful implementation. Look at the warnings in the bottom window – if you encounter any, they may cause trouble later. It is a good idea to eliminate warnings before you proceed. Talk to the labbies and learn to distinguish the harmless from the potentially harmful ones. ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design The programming phase Double-click the “Generate Programming File” tab Once this completes, we will configure the FPGA using the boundary-scan port Boundary-scan and JTAG are features used for post-production test of ICs using very simple shift-register concepts and 4 I/O pins The parallel-port connector lists these as TDI, TDO, TCLK, and TMS (test data in, …) Can be used to configure FPGAs ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Configuration Right-click the “Configure Device (iMPACT) button ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Configuration Accept this summary and select the programming file ic.bit Ignore the xcv200e warning ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Configuration Ignore this warning as well. The JtagClk is actually used to download the bit pattern onto the FPGA At this point, the device is initialized and ready Right-click and program ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design And finally … Do not check the verify box – programming will crash if you do ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Verify that it works I will post a couple of photographs of the board here ELEC 326 Digital Logic Design

Simulation and testing Testbenches are the Verilog structure of choice for simulation A testbench is associated with a Verilog module The uut (unit-under-test) in the testbench is an instance (the process of creating an instance is instantiation) of the Verilog module Adding a testbench to test the Verilog module ic as follows ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Adding a testbench ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Testbenches In Verilog simulation, a #delay refers to delaying simulation by delay time steps following a change in input patterns The initial block is a construct that is used to apply successive input patterns, separated by #delays Initial blocks are not synthesizable, since they just correspond to a bunch of inputs applied in sequence. They really implement no logic! The ModelSim simulator can be used to view and interpret the waveforms that are obtained by simulating the uut contained in the testbench Note that testbenches are not synthesizable, since all they contain are initial blocks and a few instances of Verilog modules. They have no use since they are not actually implemented ELEC 326 Digital Logic Design

Specifying test patterns Edit the initial block in the testbench, and add simple stimuli as shown below ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Simulation We have several simulation options Behavioral, post-translate, post-map, … The main trade-off is spoeed of simulation versus accuracy We will mainly use behavioral simulation At the behavioral level, we really are checking functionality w/o regard for timing, interconnect delay, routing delay, etc. Double-click the “Simulate Behavioral Model” tab ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Simulation Select ic_test, and start behavioral simulation ModelSim window pops up ELEC 326 Digital Logic Design

ELEC 326 Digital Logic Design Simulation range View the simulation trace over the full range by selecting the waveform window and using right-click – Zoom Full Just pressing F also does the job Analyze the results of simulation ELEC 326 Digital Logic Design