Spring 2010. Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.

Slides:



Advertisements
Similar presentations
Short introduction to the use of PEARL General properties First tier assessments Higher tier assessments Before looking at first and higher tier assessments,
Advertisements

Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Slides created by: Professor Ian G. Harris PIC Development Environment MPLAB IDE integrates all of the tools that we will use 1.Project Manager -Groups.
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
© 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.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
Introduction to LabVIEW 8.5
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
ECE – 329 Fall 2007 Lab Manual for Xilinx Example: Design and simulation of a Half Adder Instructor: Dr.Botros.
FPGA BASED IMAGE PROCESSING Texas A&M University / Prairie View A&M University Over the past few decades, the improvements from machine language to objected.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
8/31/2007EECS150 Lab Lecture #11 EECS150 Intro. & CAD Tools EECS150 Fall 2007 Lab Lecture #1 Shah Bawany.
הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion - Israel institute of technology department of Electrical Engineering Virtex II-PRO Dynamical.
v8.2 System Generator Audio Quick Start
ECE 448: Spring 12 Lab 4 – Part 2 Finite State Machines Basys2 FPGA Board.
Introduction to Basys 2. Switches Slide switchesPush button switches.
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.
Tutorial 2: Introduction to ISE 14.6 (revised by khw)
Introduction to Counter in VHDL
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
System Calls 1.
StateCAD FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe how.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5Z008: Microprocessor design Introduction to the ‘Interactive Design and Simulation.
ECE Department: University of Massachusetts, Amherst Using Altera CAD tools for NIOS Development.
RM2D Let’s write our FIRST basic SPIN program!. The Labs that follow in this Module are designed to teach the following; Turn an LED on – assigning I/O.
Xilinx and Nexys2 Tutorial Kartik Mohanram Dept. of Electrical and Computer Engineering Rice University, Houston, TX.
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 A Project Proposal for.
Comments on Lab #4 Annotating Timing Diagrams Draw viewer’s attention to the points you are trying to show / verify –Important output states glitch or.
© 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.
1 Introduction to Xilinx ISL8.1i & 11.1 Schematic Capture 1.
FPGA_Editor Probes. . Probe Overview 2 Adding a Probe : GUI Probes tie an internal signal to an output pin To Launch the GUI: Click the “probes” button.
U3A Computing Beginners Class Leader – Brian Moore Week 2 of 10 weeks. Mondays 4:15 to 5:45 pm.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
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.
Getting Started with Lab 1 ECE 4401 Digital Design Lab 1.
Introduction to LabVIEW 8.5
Programmable Logic Training Course HDL Editor
displayCtrlr Specification
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Introduction to Labs Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Teaching Digital Logic courses with Altera Technology
Correlator GUI Sonja Vrcic Socorro, April 3, 2006.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
ECE 448 Lab 3 FPGA Design Flow Based on Xilinx ISE and ISim. Using Seven-Segment Displays, Buttons, and Switches.
QUARTUS II Version 9.1 service pack 2 Gregg Chapman Spring 2016.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
Introduction to the FPGA and Labs
Introduction to Vivado
Lab 1: Using NIOS II processor for code execution on FPGA
Using Xilinx ChipScope Pro Tools
Dept. of Electrical and Computer Engineering
Implementing VHDL Modules onto Atlys Demo Board
T_C_N_L_G_ E D I D I E O Y O H I E B J I R E A A W.
Module 1.1 Introduction to computers
Getting Started with Programmable Logic
QUARTUS II Version 9.1 service pack 2
Week 5, Verilog & Full Adder
Getting Started with Vivado
Founded in Silicon Valley in 1984
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Spring 2010

Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation Synthesis Board Programming

Tutorial files  The folder “ece554” contains the following file types:.pptx – the tutorial slides. v – verilog module or testbench.ucf – pin definition file that defines the mapping of verilog wires to pins on the physical fpga.mem – a simple text file that contains data to be read with the $readmem verilog system task

Create a project  Double click the Xilinx ISE 10.1 icon on the desktop to launch ISE.  Create a new project (File->New Project) and save it on the D drive.

Configure parameters  Configure the parameters for the board configuration and simulation environment (image shows proper values)

Create/Add sources  For now, do not create any new sources and go to the next screen.  For now, do not add any existing sources and go to the next screen.  Click “Finish” to create the new project.

Main Window Description  The main window is comprised of many different panes  Sources Window Shows currently relevant files for the project Has different “views” for implementation or simulation. Some files, like test benches or pin configuration files, are only applicable to one.  Process Window Shows actions that can be performed on the currently highlighted file in the sources window  Transcript Window Shows various log information from synthesis or device programming actions  Main Window Shows source files or the design summary

Tutorial Description  The provided project is somewhat simple.  It essentially uses the VGA monitor for output, the action it performs is multiplying 2 32-bit numbers together and showing their result.  The push buttons (and one dip switch) on the FPGA are used for user input.

Create new source  In the Sources window, right click and select “New Source”.  Select “Verilog Module” and File name “vgamult”.

Define module  For now, do not define any port and click “next”.  Click “Finish” to create the new source.

Edit module  In the Source window, double click the created source “vgamult” and the editor view will appear at the main window.  Open the vgamult.v file in the “ece554” folder using any text editor.  Copy all the contents in the vgamult.v to the project source “vgamult”. (Do not forget to save the source file after modifications.)

Create/Edit module  Using the same process (New source and then copy), create the following modules: vga_logic main_logic draw_logic tick_logic up_counter simple_rom

Create Modules  The Source window after creating all the moudles.

Using Coregen  Currently the project is still missing 2 modules (you can see “?”icon before the missing moudle), so it cannot simulate or synthesize at this time. These modules were created with a Xilinx tool called coregen that facilitates the automatic generation of certain modules.  The missing modules are A clock generator ○ The board provides a 100MHz clock, but we need to use a clock genrator to perform division in order to create a 25MHz clock for the VGA interface. A 32x32-bit multiplier ○ Uses hardware multipliers on the FPGA. To make use of pipelined operation of the multipliers, coregen must be used.

Clock Generator  In the Sources window right click and select “New Source”.  Create an IP(CORE Generator) source called vga_clk

Clock Generator  Create a clock generator. Xilinx refers to them as DCMs. Digital Clock Managers.

Clock Generator  Configure the clock generator. Input frequency is 100Mhz Select CLKFX pin, this will be the output for our synthesized 25MHZ clock.

Clock Generator  Configure it for 25Mhz and finish the configuration.  You should notice the vga_clk module now appears within the sources window.

Multiplier  Similarly create a multiplier

Multiplier

Up Counter  Although the up_counter module is present, it is currently lacking functionality.  Modify this file to implement a 20-bit up counter that is synchronously cleared to 0 when sclr is asserted and otherwise incremented every cycle (ignoring overflow).

Adding sources  In the Sources window, right click and select “Add Source”.  Choose “vgamult.ucf” from the “ece554” folder.  Copy the “numbers.mem” file from the “ece554” folder to the root directory of your project. (“D:/tutorial/test123” in this example).  This memory file is used to initialize the simple_rom moudle in the project.

Synthesis and Programming  Now you should have a completed project that can be synthesized and programmed to the FPGA board.  Highlight the top level vgamult.v file in the sources window and select synthesize from the Process window The operation should succeed with a few warnings.  Next Implement the design This is composed of translating the high level structures into Xilinx board-level primitives and then selecting placement, given our selected FPGA board  Generate the programming file  Finally, select “Manage configuration project” from under the “Configure Target Device” listing in the Process window.

Configure Target Device

 The IMPACT program detects the chain of programmable devices present on our FPGA board. The 3 rd device is the actual V2Pro-30 FPGA. Bypass assigning configuration files for the first 2 devices Assign vgamult.bit to the FPGA. This is the bitfile necessary to program our final design. After clicking through the other windows, right click on the 3 rd device and select Program. Assuming the board programmed, you should be able to run the project now. The rightmost dip switch controls reset and the “arrow” push buttons increment/decrement the multiplicand and multiplier.

Pins UCF file  Earlier we somewhat ignored the Pins.ucf file, other than just adding it to the project.  Later you will have to modify UCF files in order to control pins on the board, so it is worthwhile now to inspect this file and see how it ties pins to the top level verilog module.  To add additional signals to this file, it is necessary to view the board documentation found at The Virtex 2-Pro board is the same we use for this course.