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

Size: px
Start display at page:

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

Transcription

1 2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog Hrishikesh Salunkhe, Alok Lele, April 28,

2 Contents 1 Introduction 3 2 Hardware design Introduction to Xilinx ISE Creating a new project Examining the design Hardware synthesis 8 4 Hardware simulation Examining the test module Simulate the design on the test input Examining the output Filter design Analyzing the filter Designing filters Signal analysis 12 7 A different filter implementation 13 2

3 1 Introduction In the first assignment you will get to know the tool set that is used during the labs by: Examining and synthesizing 2 Verilog FIR filter implementations using Xilinx ISE. Simulating an FIR filter on an audio stream, and examining the result using Audacity. Designing and analyzing the coefficients that go into a FIR filter using Matlab. For this assignment you will need the following files from the website: The 2 FIR filter implementations that will be examined: filter1.rar and filter2.rar. Make sure you unpack them to different directories. input audio file input.bin 2 Hardware design 2.1 Introduction to Xilinx ISE Xilinx ISE is a graphical front end for a collection of command line utilities. Whenever you instruct ISE to perform an action, it will invoke a (sequence of) utilities in the background. The interface consists of 3 parts as shown in Figure 1 Figure 1: Xilinx ISE GUI 3

4 Transcript: The transcript window is located on the bottom of the ISE window, demarcated by the green rectangle. It shows the output of the most recently finished process. The transcript is often quite verbose. By selecting the Errors or Warnings tab, the console is filtered to show only the errors or warnings respectively. Panel: The panel window is located in the upper left part of the ISE window, demarcated by the red rectangle. By default, it has 4 tabs as shown in Figure 2 Figure 2: Xilinx ISE Panel Window Start: This tab shows various options of creating projects. Design: This tab is divided into two panes or parts which are View and Processes as shown in Figure 2. View: The view pane is located inside the design tab of the ISE window, demarcated by light green rectangle. In the view pane you can select either the Implementation or Simulation view of the Verilog modules. In the implementation view there is always one Verilog module that is the top-level module. If this is set incorrectly, you can manually set any Verilog module to be the top-level module in its context menu. Only the top-level module can be synthesized. View pane also consists of a vertical bar on the left side where you can see various options such as New Source, Add Source, Add Copy of Source etc. into the existing project. You can also see the same options by right clicking inside the view pane. Option Add Source adds the symbolic links into the project that points to the 4

5 location of original source files whereas Add Copy of Source option copies the source files into the current project. This is generally a good idea to have source files present in the current project directory. Processes: The processes pane is located inside the design tab of the ISE window, below the view pane shown using the violet rectangle. It shows all processes that can be run on the selected Verilog module in the sources window. Most processes have a properties menu accessible from the context menu to set the parameters for execution. When the simulator is active, the processes window also contains a tab listing all the signals that can be added to the simulation. Files: This tab lists all files that are currently in the project. Libraries: This tab lists all libraries including all the files that are currently in the project. 2.2 Creating a new project Start Xilinx ISE and create a new project by selecting File New Project. A wizard will pop up, which will collect all the required information to get started. The first step asks for some information about the project: Project Location: select a directory to store your projects in, but make sure that the full path of the directory does not contain any spaces, so do not use any sub-directory of My Documents. For each design you create, a new sub-directory is created in this directory. Project Name: type in a name for your project, but make sure that it does not contain any spaces, because it will be used as the name for the sub-directory. Top-Level Source Type: select HDL. This tells ISE that you will implement your project using a Hardware Description Language. The alternative is to design a schematic, which is only a good idea for low-level designs. In the next step, you have to select the hardware for which you will be designing. The FPGA on the lab boards is the Xilinx Spartan-6 XC6SLX45. Set the following properties, and leave the others to their defaults: Family: Spartan6. Device: XC6SLX45. Package: CSG324. Speed: -3. Simulator: ISim (VHDL/Verilog). 5

6 In the next step, you will be presented with a summary of the project creation. Read and check it (you can cancel the current project creation and start again if something is wrong) and then press Finish to finish the wizard. In the next step, you can create new source files for your project or add existing source files to your project. For this assignment, you will be working on an existing design. To add existing files into the project, go to the design tab of the panel window. In the view pane, you can add the extracted files from filter1.rar, by pressing Add Copy of Source, navigating to the location where you have unpacked them, and selecting the files fir.v, firstage.v, and firtest.v. The 3 files will be added to the list. ISE will present you with a dialog in which you can define the contents of the different source files. The file firtest.v is should be set for Simulation, while the files fir.v and firstage.v can be used for both implementation and simulation i.e. set them with the All option. If it has not correctly detected then you can make corresponding changes to the file association using the dialog box. Press OK to finish. 2.3 Examining the design Let s take a look at the source files. In the sources window, expand the node fir (fir.v), which will show you comp - firstage (firstage.v). By double clicking on firstage.v, it will be opened in an editor in the workspace. As you can see, it contains a Verilog module named firstage. The line timescale 1ns / 1ps is for the simulator, you can ignore it. Modules The line starting with module declares a module, which represents a hardware component. A module contains a list of parameters, a list of I/O channels and a body. The module firstage has 2 parameters, 7 I/O channels and a body containing 6 lines of code and some comment. A module can be instantiated as often as desired in other modules. This allows you to build up a hierarchy of modules. For example, an FIR filter will typically instantiate as many firstage modules as the number of taps it has. The convention is to have 1 Verilog module per file, but this is not required. Parameters Parameters are used to create generic hardware components in much the same way as generic programming facilities in a high level programming language allow you to create a generic software component. When a module is instantiated by the synthesizer, the default values of each parameter is overridden by the actual value set at the instantiation point. The firstage module is parametrized in the data width DWIDTH of the samples and coefficients, which has a default value of 16. This allows this module to be used in a FIR filter of arbitrary precision without modifying the firstage code. Channels The i/o channels (also called i/o ports or simply ports) will be used by the module to communicate with the rest of the system. For each channel, a direction has to be specified: input, output or inout. Each channel has a width, which specifies the number of wires of that channel. The width is specified as [a:b], where a and b are integers. For example [15:0] and [0:15] both denote and 16-wire channel, but with indices reversed. By default, channels have a width of 1, i.e. they consist of a single wire (clk and enabled in firstage for 6

7 example). Unless specified otherwise, channels of width [a:b] are interpreted to be unsigned integers where a is the index of the most significant bit, and b is the index of the least significant bit. The signed qualifier indicates that the wires should be interpreted as a signed 2 s-complement integer. The interpretation of a channel is important when mathematical operations are applied to them. Registers & Wires Internal registers reg and wires wire are declared in the body of a module, in a similar way as channels are declared. A wire is just that: a wire. An n-bit register is composed of n state holding elements called flip flops. All the registers of a module together are usually called the state of that module (just as all variables in a computer program are usually called the state of the program). The module firstage only contains 1 register, namely x. An array of registers or wires can be specified by adding a range [a:b] behind the name of the register or wire. Note that inputs and outputs can never be arrays. Assignment The firstage module contains 2 assignment statements. They have the form assign destination = expression, and indicate that the result of evaluating expression should be assigned to destination at every point in time. The destination can either be a wire or an output channel. Note that this behavior is very different from the behavior of an assignment statement in an imperative language such as C or Pascal, where the assignment is executed only when program control reached it. In firstage for example, assign a out = x states that the a out output channel always has the same value as the register x, essentially creating a wired connection from the output of register x to the channel a out. The second assignment statement is a bit more complex, since it includes an addition and a multiplication. You cannot have more than 1 assignment to the same wire. Behavior The last part of the source file specifies the behavior of the component: it specifies what the next state of the component (composed of all its registers) is in terms of the current state and current inputs. This requires the introduction of time, to separate current from next, which is accomplished by using a clock. The clock is simply a signal that alternates between 0 and 1 with fixed period. During each period of the clock (typically called a clock cycle), the state remains the same and the next state is computed. Then at the transition to the next clock cycle, all registers are updated instantly with their new values. There is only 1 requirement: the clock period should be large enough to compute the next state. If not, the registers will capture incorrect values at clock transitions, resulting in a faulty system. This behavior is specified by an always-block: clk)..., where an up-going transition of the clock, also called a posedge, is seen is the separator between 2 clock periods. The always-block in firstage.v contains only 1 statement, saying the register x should be updated with the value of a in on positive clock edges if the enabled signal is 1. After synthesizing the design, ISE will indicate what the minimum clock period should be in order to guarantee that all register inputs have time enough to reach their final values (to stabilize). This minimum period gives an upper bound on the clock rate at which the system will perform correctly. 7

8 Generate Now take a look at the source file fir.v. This module is more elaborate, but you should be able to understand it. The only new part, is the generate statement, which instantiates a number of firstage modules. These instances are called comp, which is why the source tree in ISE shows comp - firstage (firstage.v) : it show the local name of the module instance, followed by the module name, followed by the file name. There are many books available on Verilog, and there are many tutorials and guides available on the web, see for example: Note that Verilog 2001 is used during the labs, which has some extended features compared to earlier versions of Verilog. The Verilog 2001 standard can be found at org/iel5/7578/20656/ pdf?arnumber= Questions 1. How many firstage modules are instantiated in the filter module? 3 Hardware synthesis As you might have guessed the Verilog source files define a finite impulse response (FIR) filter. Let s examine some properties of the hardware implementation of this filter by synthesizing it. The first step in translating your design from an HDL design to a format which can be loaded into an FPGA is called synthesis. Synthesis generates a net list, which is a graph of hardware components similar to a block diagram, from the Verilog sources. This is not always possible, because not all Verilog constructs are synthesizable: some are only meant for simulation or specification. Furthermore, not all constructs that could in principle be synthesized are supported by the Xilinx synthesizer XST. In order to synthesize the design, select the Verilog module fir in the source window (it should be the top level module), en then double click on Synthesize - XST in the process window. The transcript is cleared automatically and the output of the synthesize process is directed to it. Synthesis might take a while depending on your system. When the process has finished, the last line should be Process "Synthesize" completed successfully. You can examine the generated net list by invoking one of the processes View RTL Schematic or View Technology Schematic under Synthesize - XST. The former one gives an abstract graphical representation of the design (in terms of adders, multipliers, registers, etc.), while the latter gives a more detailed design (in terms of LUTs, flip-flops, etc.) targeted to the FPGA you have selected for your project. The design summary has now been extended and you can navigate the extensive synthesis report. Select Synthesis Messages to get an overview of the warnings. The warnings for this project should refer to signals that are defined but never used and registers with unconnected output ports. In this case there are no serious warnings, but when you are debugging your own designs, it is a good idea to look at them and verify that all warnings are as expected. If for example a signal isn t used, while it should be, you probably did something wrong. Now select Synthesis Report in the design summary and find the section called TIMING REPORT. In it is a subsection Timing Summary that contains four very important timing 8

9 figures. They represent the largest delays in the design which gives a lower bound for the clock period, and hence an upper bound for the clock frequency at which the design operates correctly. Note however that these numbers are only an estimate, because the synthesizer assumes that all of the components of your design can be placed closely together on the FPGA. This might not always be possible and therefore the real delays of your design can be a lot higher. The reported delays are: Minimum period: the largest delay among all combinational paths (paths with no registers on them) starting at a register and ending at a register. Minimum input arrival time before clock: the largest delay among all combinational paths starting at an input channel and ending at a register. Maximum output required time after clock: the largest delay among all combinational paths starting at a register and ending at an output channel. Maximum combinational path delay: the largest delay among all combinational paths starting at an input channel and ending at an output channel. These values are computed for the system as a whole, not for individual sub-components. If in the environment all inputs and outputs are directly connected to registers, all these values collapse into 1 value, namely the first one. Because this assumption is usually valid, one should take the maximum of these 4 values as being the real minimum clock period, and not simply the minimum period as the synthesizer states. The Synthesis report contains much more information. You will need to browse through it to find some of the answers to the questions below. Questions 2. Draw block diagrams of the following systems, and classify each combinational path in it as 1 of the 4 possibilities mentioned above: (a) The firstage module in isolation. (b) A 32-tap FIR filter based on this FIR-stage module. 3. What is the maximum sample frequency of the 32-tap filter design according to the synthesis report? 4. Find out how many of the following resources are used by the design, and justify the number: (a) 16x16 bit Multipliers. (b) Slice registers. 9

10 4 Hardware simulation Before translating a Verilog design to actual hardware, it is usually simulated on a computer to verify its functional correctness. This requires a test bench that determines what is to be simulated and a simulator that actually simulates the design and the test bench. ISE contains a simulator, but a test bench has to be written specifically for each module you want to simulate. The file firtest.v contains a test bench for the module fir that executes the FIR filter on the samples from a given file. 4.1 Examining the test module In the source window select the Behavioral Simulation source view. The source tree should now change, with firtest being at the top of the tree. Examine the firtest.v file. As you can see, it differs from the other Verilog modules: it doesn t have any i/o ports and it contains simulator commands, which start with a $ symbol. If you select the firtest module in the sources window, the process window should display the ISim Simulator process node. Expand this node and then double click on Simulate Behavioral Model to simulate your design. A new ISim simulator window will open. If you click on the run (play) button on the toolbar, then you will observe in the console pane at the bottom of the simulator window that the simulation runs with File Descriptor error and warning messages. This is because the file input.bin could not be opened. This file is used to get the samples from that are fed into the filter. We must thus first copy input.bin to source directory of our design. 4.2 Simulate the design on the test input Once you have copied input.bin to your source directory, click on re-launch on the toolbar and then run the simulation again. This time, the simulation should end successfully. Now view Default.wcfg in the workspace. The workspace should show the signals for the first 1000ns of the simulation. The process window has been expanded with the hierarchy of firtest. You can drag signals from this hierarchy to the workspace to see their values. Note however that the simulator only records the values of the signals in the simulation from the point where they were added. Adding a signal to the workspace will require resetting the simulation to time 0 to see the actual values of the new signals. You can control the simulation with the buttons that have been added to the toolbar. The blue play button with an X executes the simulation for a specified number of nanoseconds. The blue play button without the X executes the simulation until it terminates. Press this button now to finish the simulation. The simulation will take a couple of minutes. When the simulation stops with an error message, it is probably out of memory because of all the signals it needs to keep track of. This can be fixed by removing all signals from the simulation except 1 that doesn t change very often and resetting the simulation. 10

11 4.3 Examining the output When the simulation is finished, it writes the output to a file named output.bin. This file has the same format as the input file. Import the input and output files in Audacity and compare them. You can visualize the differences by zooming in on both tracks until you can see the individual samples, or by selecting Plot Spectrum in the Analyze menu for both tracks. Finally, export the raw input and output files to wave files called input.wav and output.wav respectively, which we will use later-on in Matlab. Questions 5. (a) What was the duration of the sound in your original sound file? (b) How much simulated time did the design take to filter your sound file? (c) What was the sample rate of the simulated system? (d) What is relationship between sample rate and clock rate of the simulation? (e) What are the filter coefficients used in the test module? (f) What changes are observed in the frequency spectrum when the first and last 2 coefficients are made zero from the test module s filter? 5 Filter design In this section, we will use Matlab to analyze the filter from the test module, and design a better one. 5.1 Analyzing the filter Start Matlab and type fdatool in the workspace followed by an enter. The filter design and analysis tool will start, in which we will analyze the filter coefficients from firtest.v. Select File Import Filter from Workspace. Enter [1] in the Denominator field and enter the list of filter coefficients in the Numerator field enclosed by square brackets, i.e. [a b c d...]. All other settings can be left at their default values. Press Import Filter to see the magnitude response of this filter. The horizontal axis of the graph represents the frequency (normalized to half the sampling frequency) and the vertical axis represents the magnitude in db. Remember that db is a logarithmic scale. Where an increase of 10dB means a 10 fold increase in amplitude, and a 20dB increase means a 100 fold increase in amplitude. 5.2 Designing filters Besides analyzing filters, the tool can also be used to generate a filter according to some specifications. Press the Design Filter button in the lower left corner. Then press the Filter Specifications button in the toolbar and set: 11

12 Response Type to Lowpass. Design Method to FIR - Equiripple. Filter Order to Minimum Order. Fs to (the sampling frequency). Fpass to 3000 (the frequency at which attenuation should start). Fstop to 4000 (the frequency from where on no signal should be present). Press the Design Filter button to generate a filter with the lowest possible tap-count that satisfies the specifications. When the process finishes, the magnitude response of the resulting filter is shown. Note that this filter is more strict than the one used in the verilog test module: frequencies below 3000 Hz are hardly affected, and frequencies above 4000Hz are heavily attenuated (the difference is 80dB). The disadvantage is that more coefficients are used. In general: the more strict the filter specifications, the more coefficients are required. Questions 6. (a) What is the order of the filter you just designed? (b) How many filter stages would be required to implement this filter? 6 Signal analysis Matlab can also be used to analyze signals. In the Matlab workspace, select File Import Data... Select the file input.wav and press OK, and then Finish. Copy the data to the variable sample by typing the command sample=data;. Repeat this process for the file output.wav, but now copy the data to the output variable. Issue the command sptool, which starts the signal processing toolbox. To import a signal into the tool, select File Import. In the Data field enter sample and in the Sampling Frequency field enter Under Name you have to enter sample again. Now press OK. The sample signal has now been imported into the sptool. Repeat this process for the output signal (using output instead of sample ). In the SPTool you can view the signals by clicking on the View button below the signals column. This shows the time-domain waveform, which doesn t give much insight into the signal except its amplitude. It is usually more interesting to look at a signal in the frequency domain, because it tells us how much of each frequency is present in a signal. Select the sample signal and press Create in the spectra column. In the new window that opens, press Apply and then close it. Select the output signal and repeat the procedure. Now select both spect1 and spect2 in the spectra column and press View. You now see the power spectral density (PSD) of both signals. In the graph right-click and select spect2 Line Properties. Select Red and press OK. The PSD of the original signal is now shown in blue, while the PSD of the filtered signal is shown in red. As you can see the power of the frequencies above 3kHz has been reduced significantly in the output. The power in the higher frequencies may have risen because of noise introduced by the filter. 12

13 Questions 7. What is the stop frequency of the filter, judging from the PSD? 8. (a) What is the highest frequency displayed on x-axis of the PSD graph? (b) Briefly explain the relationship between this frequency and the sampling frequency of 44.1kHz. 7 A different filter implementation To answer the questions below you will need to examine the filter design from the file filter2.zip. Make sure you create a new project for this filter. Questions 9. One of the filter designs is a direct-form implementation, and the other one is a transposed direct-form implementation. Which of the zip-files contained which implementation? 10. Answer questions 1 through 4 again but now for the second design instead of the first one. 13

Tutorial: Working with the Xilinx tools 14.4

Tutorial: Working with the Xilinx tools 14.4 Tutorial: Working with the Xilinx tools 14.4 This tutorial will show you how to: Part I: Set up a new project in ISE Part II: Implement a function using Schematics Part III: Implement a function using

More information

Xilinx Schematic Entry Tutorial

Xilinx Schematic Entry Tutorial Overview Xilinx Schematic Entry Tutorial Xilinx ISE Schematic Entry & Modelsim Simulation What is circuit simulation and why is it important? Complex designs, short design cycle Simultaneous system design

More information

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

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0 Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1

More information

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!

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! This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,

More information

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

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable

More information

Lab 1: Introduction to Verilog HDL and the Xilinx ISE

Lab 1: Introduction to Verilog HDL and the Xilinx ISE EE 231-1 - Fall 2016 Lab 1: Introduction to Verilog HDL and the Xilinx ISE Introduction In this lab simple circuits will be designed by programming the field-programmable gate array (FPGA). At the end

More information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog Design Entry, Synthesis, and Behavioral Simulation ------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize

More information

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 Introduction This Xilinx project introduces the characteristics of the ripple carry adder. From the last project, you learned that

More information

An easy to read reference is:

An easy to read reference is: 1. Synopsis: Timing Analysis and Timing Constraints The objective of this lab is to make you familiar with two critical reports produced by the Xilinx ISE during your design synthesis and implementation.

More information

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

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: www.vhdl.us Appendix C Xilinx ISE Tutorial (ISE 11.1) This tutorial is based on ISE 11.1 WebPack (free at

More information

RTL Design and IP Generation Tutorial. PlanAhead Design Tool

RTL Design and IP Generation Tutorial. PlanAhead Design Tool RTL Design and IP Generation Tutorial PlanAhead Design Tool Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.

More information

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

RTL and Technology Schematic Viewers Tutorial. UG685 (v13.1) March 1, 2011 RTL and Technology Schematic Viewers Tutorial The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not assume any

More information

Adding the ILA Core to an Existing Design Lab

Adding the ILA Core to an Existing Design Lab Adding the ILA Core to an Existing Introduction This lab consists of adding a ChipScope Pro software ILA core with the Core Inserter tool and debugging a nonfunctioning design. The files for this lab are

More information

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx

More information

Xilinx ISE Simulation Tutorial

Xilinx ISE Simulation Tutorial Xilinx ISE Simulation Tutorial 1. Start Xilinx ISE Project Navigator 2. Create a new project Click on File, then choose New Project on the drop down menu Enter your project name, in this case the project

More information

Using Synplify Pro, ISE and ModelSim

Using Synplify Pro, ISE and ModelSim Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For

More information

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

Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices Internet Engineering Dr. Jarosław Sugier Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices This document presents software packages

More information

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

Department of Electrical and Computer Engineering Xilinx ISIM <Release Version: 14.1i> Simulation Tutorial Using Verilog Department of Electrical and Computer Engineering Xilinx ISIM Simulation Tutorial Using Verilog Spring 2013 Baback Izadi You will next test the full adder circuit that you built

More information

Getting Started with Xilinx WebPack 13.1

Getting Started with Xilinx WebPack 13.1 Getting Started with Xilinx WebPack 13.1 B. Ackland June 2011 (Adapted from S. Tewksbury notes WebPack 7.1) This tutorial is designed to help you to become familiar with the operation of the WebPack software

More information

Xilinx Tutorial Basic Walk-through

Xilinx Tutorial Basic Walk-through Introduction to Digital Logic Design with FPGA s: Digital logic circuits form the basis of all digital electronic devices. FPGAs (Field Programmable Gate Array) are large programmable digital electronic

More information

Step 1: Downloading the source files

Step 1: Downloading the source files Introduction: In this lab and in the remainder of the ELEC 2607 labs, you will be using the Xilinx ISE to enter and simulate the designs for your circuits. In labs 3 and 4, you will use ISE to compile

More information

Quick Front-to-Back Overview Tutorial

Quick Front-to-Back Overview Tutorial Quick Front-to-Back Overview Tutorial PlanAhead Design Tool This tutorial document was last validated using the following software version: ISE Design Suite 14.5 If using a later software version, there

More information

FPGA Design Tutorial

FPGA Design Tutorial ECE 554 Digital Engineering Laboratory FPGA Design Tutorial Version 5.0 Fall 2006 Updated Tutorial: Jake Adriaens Original Tutorial: Matt King, Surin Kittitornkun and Charles R. Kime Table of Contents

More information

Xilinx ISE Synthesis Tutorial

Xilinx ISE Synthesis Tutorial Xilinx ISE Synthesis Tutorial The following tutorial provides a basic description of how to use Xilinx ISE to create a simple 2-input AND gate and synthesize the design onto the Spartan-3E Starter Board

More information

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

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4 TLL5000 Electronic System Design Base Module Getting Started Guide, Ver 3.4 COPYRIGHT NOTICE The Learning Labs, Inc. ( TLL ) All rights reserved, 2008 Reproduction in any form without permission is prohibited.

More information

INTRODUCTION TO CATAPULT C

INTRODUCTION TO CATAPULT C INTRODUCTION TO CATAPULT C Vijay Madisetti, Mohanned Sinnokrot Georgia Institute of Technology School of Electrical and Computer Engineering with adaptations and updates by: Dongwook Lee, Andreas Gerstlauer

More information

Creating a Processor System Lab

Creating a Processor System Lab Lab Workbook Introduction This lab introduces a design flow to generate a IP-XACT adapter from a design using Vivado HLS and using the generated IP-XACT adapter in a processor system using IP Integrator

More information

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS VIVADO TUTORIAL- TIMING AND POWER ANALYSIS IMPORTING THE PROJECT FROM ISE TO VIVADO Initially for migrating the same project which we did in ISE 14.7 to Vivado 2016.1 you will need to follow the steps

More information

Laboratory Exercise #6 Introduction to Logic Simulation and Verilog

Laboratory Exercise #6 Introduction to Logic Simulation and Verilog Laboratory Exercise #6 Introduction to Logic Simulation and Verilog ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise

More information

ECT 224: Digital Computer Fundamentals Using Xilinx StateCAD

ECT 224: Digital Computer Fundamentals Using Xilinx StateCAD ECT 224: Digital Computer Fundamentals Using Xilinx StateCAD 1) Sequential circuit design often starts with a problem statement tat can be realized in the form of a state diagram or state table a) Xilinx

More information

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

Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board Shawki Areibi August 15, 2017 1 Introduction Xilinx System Generator provides a set of Simulink blocks

More information

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification PURPOSE: To use Formality and its formal techniques to prove or disprove the functional equivalence of two designs. Formality can be used

More information

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

Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. This lab is based on: Xilinx Project Navigator, Release Version 14.6 Digilent Adept System Rev 2.7, Runtime Rev 2.16 Digilent

More information

Lab 1: FPGA Physical Layout

Lab 1: FPGA Physical Layout Lab 1: FPGA Physical Layout University of California, Berkeley Department of Electrical Engineering and Computer Sciences EECS150 Components and Design Techniques for Digital Systems John Wawrzynek, James

More information

TLL5000 Electronic System Design Base Module

TLL5000 Electronic System Design Base Module TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )

More information

Start Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS

Start Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS Introduction to Active-HDL TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS This tutorial will introduce the tools and techniques necessary to design a basic schematic. The goal of this tutorial is

More information

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

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax Xilinx ISE WebPACK Schematic Capture Tutorial Revision: February 27, 2010 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview This tutorial provides instruction for using the Xilinx

More information

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

ISE Simulator (ISim) In-Depth Tutorial. UG682 (v 13.1) March 1, 2011 ISE Simulator (ISim) In-Depth Tutorial Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate

More information

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation)

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) September 2008 Prepared by: Oluwayomi Adamo Class: Project IV University of North Texas FPGA Physical Description 4 1. VGA (HD-15)

More information

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

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall 2009-10 AccelDSP Getting Started Tutorial Introduction This tutorial exercise will guide you through the process of

More information

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

Hardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator Harris Hardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator Introduction In this lab, you will build a time-multiplexed correlator to search for and track GPS satellite signals.

More information

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

Tutorial on FPGA Design Flow based on Xilinx ISE Webpack andisim. ver. 1.0 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

More information

Lab 6 : Introduction to Verilog

Lab 6 : Introduction to Verilog Lab 6 : Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of

More information

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 Tutorial on FPGA Design Flow based on Aldec Active HDL Ver 1.5 1 Prepared by Ekawat (Ice) Homsirikamol, Marcin Rogawski, Jeremy Kelly, John Pham, and Dr. Kris Gaj This tutorial assumes that you have basic

More information

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14 Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating

More information

PlanAhead Software Tutorial

PlanAhead Software Tutorial PlanAhead Software Tutorial RTL Design and IP Generation The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not

More information

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

Tutorial on FPGA Design Flow based on Xilinx ISE WebPack and ModelSim. ver. 2.0 Tutorial on FPGA Design Flow based on Xilinx ISE WebPack and ModelSim ver. 2.0 Updated: Fall 2013 1 Preparing the Input: Download examples associated with this tutorial posted at http://ece.gmu.edu/tutorials-and-lab-manuals

More information

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

Revision: February 26, E Main Suite D Pullman, WA (509) Voice and Fax Xilinx ISE Simulator (ISim) with Verilog Test Fixture Tutorial Revision: February 26, 2010 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview This tutorial provides instruction

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.

More information

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

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification

More information

Vivado Tutorial. Introduction. Objectives. Procedure. Lab Workbook. Vivado Tutorial

Vivado Tutorial. Introduction. Objectives. Procedure. Lab Workbook. Vivado Tutorial Lab Workbook Introduction This tutorial guides you through the design flow using Xilinx Vivado software to create a simple digital circuit using Verilog HDL. A typical design flow consists of creating

More information

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

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 Lab Description Today s lab will introduce you to the Xilinx Integrated Software Environment (ISE)

More information

ISim In-Depth Tutorial. UG682 (v13.4) January 18, 2012

ISim In-Depth Tutorial. UG682 (v13.4) January 18, 2012 ISim In-Depth Tutorial Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate with Xilinx

More information

Introduction. About this tutorial. How to use this tutorial

Introduction. About this tutorial. How to use this tutorial Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This

More information

Digital Circuit Design Using Xilinx ISE Tools

Digital Circuit Design Using Xilinx ISE Tools Digital Circuit Design Using Xilinx ISE Tools Poras T. Balsara and Prashant Vallur Table of Contents 1. Introduction 2. Programmable logic devices: FPGA and CPLD 3. Creating a new project in Xilinx Foundation

More information

CECS LAB 1 Introduction to Xilinx EDA Tools

CECS LAB 1 Introduction to Xilinx EDA Tools NAME: DUE DATE: STUDENT ID: POSSIBLE POINTS: 10 COURSE DATE & TIME: OBJECTIVE: To familiarize ourselves with the Xilinx Electronic Design Aid (EDA) Tools. We will simulate a simple 4-to-1 Multiplexor using

More information

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017 ECE4703 B Term 2017 -- Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017 The goals of this laboratory assignment are: to familiarize

More information

Xilinx ChipScope ICON/VIO/ILA Tutorial

Xilinx ChipScope ICON/VIO/ILA Tutorial Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These

More information

Circuit design with configurable devices (FPGA)

Circuit design with configurable devices (FPGA) 1 Material Circuit design with configurable devices (FPGA) Computer with Xilinx's ISE software installed. Digilent's Basys2 prototype board and documentation. Sample design files (lab kit). Files and documents

More information

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

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM Department of Computing Course 112 Hardware First Year Laboratory Assignment Dates for the session 2005-2006: Hand out Date: 10 th January 2006 Hand in deadline (electronic and written report): 17.00 Monday

More information

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

ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 Goals ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 1. To review the use of Verilog for combinational logic design. 2. To become familiar with using the Xilinx ISE software

More information

MicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System

MicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System MicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System Ahmed Elhossini January 24, 2010 1 Introduction 1.1 Objectives This tutorial will demonstrate process of

More information

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

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i This tutorial will show you how to: Use Verilog to specify a design Simulate that Verilog design Define pin constraints for the FPGA (.ucf

More information

EE 101 Lab 5 Fast Adders

EE 101 Lab 5 Fast Adders EE 0 Lab 5 Fast Adders Introduction In this lab you will compare the performance of a 6-bit ripple-carry adder (RCA) with a 6-bit carry-lookahead adder (CLA). The 6-bit CLA will be implemented hierarchically

More information

Commas and Data Alignment Lab

Commas and Data Alignment Lab Lab Workbook Introduction In this lab, you will use commas to control data flow and align serial data into bytes. Objectives After completing this lab, you will be able to: Procedure Define a data alignment

More information

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

4. Verify that HDL is selected as the Top-Level Source Type, and click Next. The New Project Wizard Device Properties page appears. Working with the GODIL Author: Ruud Baltissen Credits: Michael Randelzhofer, Ed Spittles Date: August 2010 What is it? This document describes a way to get familiar with the Xilinx FPGAs on OHO s Godil,

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2000 Lab 1 Introduction to Xilinx Design Software 1 Objectives In this

More information

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

More information

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

1. Downloading. 2. Installation and License Acquiring. Xilinx ISE Webpack + Project Setup Instructions Xilinx ISE Webpack + Project Setup Instructions 1. Downloading The Xilinx tools are free for download from their website and can be installed on your Windowsbased PC s. Go to the following URL: http://www.xilinx.com/support/download/index.htm

More information

ELEC 4200 Lab#0 Tutorial

ELEC 4200 Lab#0 Tutorial 1 ELEC 4200 Lab#0 Tutorial Objectives(1) In this Lab exercise, we will design and implement a 2-to-1 multiplexer (MUX), using Xilinx Vivado tools to create a VHDL model of the design, verify the model,

More information

Vivado Design Suite Tutorial. Design Flows Overview

Vivado Design Suite Tutorial. Design Flows Overview Vivado Design Suite Tutorial Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To

More information

COS/ELE 375 Verilog & Design Tools Tutorial

COS/ELE 375 Verilog & Design Tools Tutorial COS/ELE 375 Verilog & Design Tools Tutorial In this tutorial, you will walk through a tutorial using the Xilinx ISE design software with a Digilent Nexys4 DDR FPGA board. In this tutorial, you will learn

More information

Vivado Design Suite User Guide. Designing IP Subsystems Using IP Integrator

Vivado Design Suite User Guide. Designing IP Subsystems Using IP Integrator Vivado Design Suite User Guide Designing IP Subsystems Using IP Integrator Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use

More information

LegUp HLS Tutorial for Microsemi PolarFire Sobel Filtering for Image Edge Detection

LegUp HLS Tutorial for Microsemi PolarFire Sobel Filtering for Image Edge Detection LegUp HLS Tutorial for Microsemi PolarFire Sobel Filtering for Image Edge Detection This tutorial will introduce you to high-level synthesis (HLS) concepts using LegUp. You will apply HLS to a real problem:

More information

Tutorial 3. Appendix D. D.1 Design Using Verilog Code. The Ripple-Carry Adder Code. Functional Simulation

Tutorial 3. Appendix D. D.1 Design Using Verilog Code. The Ripple-Carry Adder Code. Functional Simulation Appendix D Tutorial 3 This tutorial introduces more advanced capabilities of the Quartus II system. We show how Verilog code is organized and compiled and illustrate how multibit signals are represented

More information

Using the ChipScope Pro for Testing HDL Designs on FPGAs

Using the ChipScope Pro for Testing HDL Designs on FPGAs Using the ChipScope Pro for Testing HDL Designs on FPGAs Compiled by OmkarCK CAD Lab, Dept of E&ECE, IIT Kharagpur. Introduction: Simulation based method is widely used for debugging the FPGA design on

More information

Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation

Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation Revision: February 7, 2003 Overview This document is intended to assist new entry-level users of the Xilinx ISE/WebPack software. It

More information

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN Xiaoying Li 1 Fuming Sun 2 Enhua Wu 1, 3 1 University of Macau, Macao, China 2 University of Science and Technology Beijing, Beijing, China

More information

Xilinx Project Navigator Reference Guide

Xilinx Project Navigator Reference Guide 31 July 2003 Author: David M. Sendek Xilinx Project Navigator Reference Guide Background: This guide provides you with step-by-step procedures in using the Xilinx Project Navigator to perform the following:

More information

Vivado Design Suite Tutorial: High-Level Synthesis

Vivado Design Suite Tutorial: High-Level Synthesis Vivado Design Suite Tutorial: Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extent permitted

More information

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

Lab 3: Xilinx PicoBlaze Flow Lab Targeting Spartan-3E Starter Kit Lab 3: Xilinx PicoBlaze Flow Lab Targeting Spartan-3E Starter Kit Xilinx PicoBlaze Flow Demo Lab www.xilinx.com 1-1 Create a New Project Step 1 Create a new project targeting the Spartan-3E device that

More information

CPLD Experiment 4. XOR and XNOR Gates with Applications

CPLD Experiment 4. XOR and XNOR Gates with Applications CPLD Experiment 4 XOR and XNOR Gates with Applications Based on Xilinx ISE Design Suit 10.1 Department of Electrical & Computer Engineering Florida International University Objectives Materials Examining

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

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

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation UG817 (v 14.3) October 16, 2012 This tutorial document was last validated using the following software version: ISE Design

More information

Vivado Design Suite Tutorial. Model-Based DSP Design using System Generator

Vivado Design Suite Tutorial. Model-Based DSP Design using System Generator Vivado Design Suite Tutorial Model-Based DSP Design using System Generator Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use

More information

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work

More information

QUARTUS II Altera Corporation

QUARTUS II Altera Corporation QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?

More information

Vivado Tutorial. Introduction. Objectives. Procedure

Vivado Tutorial. Introduction. Objectives. Procedure Lab Workbook Introduction This tutorial guides you through the design flow using Xilinx Vivado software to create a simple digital circuit using VHDL. A typical design flow consists of creating model(s),

More information

1. Introduction EE108A. Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game

1. Introduction EE108A. Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game EE108A Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game 1. Introduction Objective This lab is designed to familiarize you with the process of designing, verifying, and implementing a combinational

More information

Filter Design HDL Coder 2 User s Guide

Filter Design HDL Coder 2 User s Guide Filter Design HDL Coder 2 User s Guide How to Contact The MathWorks www.mathworks.com Web comp.soft-sys.matlab Newsgroup www.mathworks.com/contact_ts.html Technical Support suggest@mathworks.com bugs@mathworks.com

More information

PlanAhead Release Notes

PlanAhead Release Notes PlanAhead Release Notes What s New in the 11.1 Release UG656(v 11.1.0) April 27, 2009 PlanAhead 11.1 Release Notes Page 1 Table of Contents What s New in the PlanAhead 11.1 Release... 4 Device Support...

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip 1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based

More information

University of Toronto ECE532 Digital Hardware Module m07: Using ModelSim to Simulate Your Designs

University of Toronto ECE532 Digital Hardware Module m07: Using ModelSim to Simulate Your Designs Version for ModelSim SE 6.2e as of January 11, 2007 Introduction ModelSim is a powerful HDL simulation tool that allows you to stimulate the inputs of your modules and view both outputs and internal signals.

More information

TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES

TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES Introduction to Active-HDL TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES This tutorial will use the 1-bit full adder you designed in Tutorial #1 to construct larger adders. This will introduce the

More information

DEPT OF ECE EC6612 -VLSI DESIGN LABORATORY MANUAL (REGULATION-2013) LAB MANUAL DEPARTMENT OF ECE NAME: REGISTER NUMBER: YEAR/SEM.: ACADEMIC YEAR: 2015-2016 DEPT OF ECE EC6612 -VLSI DESIGN LABORATORY MANUAL

More information

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to:

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to: Basic Xilinx Design Capture This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: List various blocksets available in System

More information

Digital design laboratory 5

Digital design laboratory 5 Digital design laboratory 5 Preparations Launch the ISE Design Suite Create new project: File -> New Project Preparations Name: DigLab5 Location: D drive! D:\DigLab5 Working directory: The same as Location

More information

CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim

CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim Purpose Define logic expressions in Verilog using register transfer level (RTL) and structural models. Use Quartus II to

More information

Adding Custom IP to the System

Adding Custom IP to the System Lab Workbook Introduction This lab guides you through the process of creating and adding a custom peripheral to a processor system by using the Vivado IP Packager. You will create an AXI4Lite interface

More information