CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0
|
|
- Frank Baldwin
- 6 years ago
- Views:
Transcription
1 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 Grading Supplementary Material General Online Reading Tutorial on Working with Xilinx Project Navigator Running Xilinx Project Navigator Creating a new project Entering the target device properties Creating a new Verilog file for the project Copy and Paste the following code: Checking the Syntax Analysis of the generated logic Running Synthesis Creating a Test Bench for our Design Simulating our design using Xilinx s isim Analyzing the results from our Simulation Using the Xilinx Spartan-3 FPGA Now you its your turn!... 25
2 1 Overview The following lab is inted to act as a primer for the Xilinx ISE toolset. We will be going through the process of creating a very simple logic design, testing it, and implementing it in an actual FPGA Platform. 1.1 Grading Question 0: Create Positive Edge Detect and Negative Edge Detect Logic -1 Point Incorrect Design for Positive Edge Detect -1 Point Incorrect Test Bench for Positive Edge Detect 4-1 Point Incorrect Design for Negative Edge Detect -1 Point Incorrect Test Bench for Negative Edge Detect -4 Point if not attempted Question 1: Design a Toggle Flip-Flop -2 Points for incorrect implementation 4-4 Points if not attempted Question 2: Create a Test-Bench and validate your Toggle Flip-Flop -1 Points for failing to test each condition shown in the waveform 2-2 Points if not attempted Question 3.a: Create a 1-Bit Comparator -1 Points if direction of assignment was incorrect. -1 Points for incorrect reg or wire usage. 4-4 Points if not attempted Question 3.b: Create a Test-Bench for the 1-Bit Comparator and validate the comparator -1 Points for failing to test all 4 possible cases. -1 Points for not using # delays 4-4 Points if not attempted Question 3.c: Create a 4-Bit Comparator -1 Points for not instantiating 4 separate 1-bit comparators. 4-1 Points for incorrect bit width declarations -4 Points if not attempted Question 3.d: Create a Test-Bench for the 4-Bit Comparator and validate the comparator -2 Points for not testing all 256 possible conditions. 4-4 Points if not attempted Question 4: Simulate code and record results observed -1 Points per incorrect entry into table of expected results. -1 Points per incorrect # delay usage 4-2 Points if not attempted Question 5: Completed LED Blink FPGA Implementation 1-1 Point if not attempted 2 P age
3 1.2 Supplementary Material ISE Quick Tour: o ISE In-Depth Tutorial o Aldec Active-HDL 8.3 o Kyle s You-Tube stuff (for those of you who love my melodic velvety tones!) o (Active HDL Tutorial - Part 1) o (Active HDL Tutorial - Part 2) 1.3 General Online Reading P age
4 2 Tutorial on Working with Xilinx Project Navigator Please follow the below steps to setup the Xilinx Project. 2.1 Running Xilinx Project Navigator Go to shortcut to the ISE project Navigator on the desktop or All Programs > Xilinx > ISE > Project Navigator. 2.2 Creating a new project Go to File > New Project > Enter the name of the project and the location as shown below and click next: 4 P age
5 2.3 Entering the target device properties We need to mention the FPGA device for which the code is being used. Since we would be working on Spartan 3 boards put the parameters as shown below. 2.4 Creating a new Verilog file for the project Click on the new source button and select Verilog module from the list and give a <name> (we are making a Positive Edge Detection circuit) for your Verilog file which will be saved in the format PED.v. Click next to proceed. 5 P age
6 In the New Source Wizard Define Module screen you can name the signal and assign those directions and vector width. This information is used by the tool to automatically write the module for you. It is recommed that you learn to write the module yourself rather than taking the help of tool. After you have entered the above information click next and the New Source Wizard Summary window will appear. Click Finish. 6 P age
7 The project will be created now and click yes on the screen as shown below: The file created by you will be shown by the tool, click next to proceed to summary of project window. 7 P age
8 Click finish in the Project Summary window. You can see the project being created with some default code created by the tool. 8 P age
9 2.5 Copy and Paste the following code: `timescale 1ns / 1ns //indicates that he simulation unit is 1 ns and the resolution is 1 ns. // // Design Name : ped // File Name : ped.v // Function : Positive Edge Detection // Coder : HEMANSHU ABBEY // module ped (//Port Declarations SIG, // Signal input to be monitored CLK, // Synchronous Clock Input RESET_B, // An active low input which resets the logic to a default state. PULSE // A single clock wide pulse to indicate that a Positive edge has been detected. ); //Port Directions // Input Ports input SIG, CLK, RESET_B; // Output Ports output PULSE; // Signal Declarations/Internal Variables wire inv; wire PULSE; reg q; // Code Starts Here (posedge CLK or negedge RESET_B) if (~RESET_B) q <= 1'b0; else q <= SIG; assign inv =!q; assign PULSE = SIG & inv; module Note: Please try to understand the code by drawing waveforms for it. Also try to write the code for negative edge detection on your own. 9 P age
10 2.6 Checking the Syntax Double click it to run the process and it will show a green correct sign if the process is completed successfully. NOTE: It is very important that you learn to debug your own code. If you have some errors/warnings please try to think what is going wrong and rectify it. 10 P age
11 2.7 Analysis of the generated logic Under Synthesize tab click on View RTL schematic as shown below: Double click on the green box which is your block level diagram for the code to get the actual circuit level implementation by the tool. 11 P age
12 2.8 Running Synthesis Once we are sure that we do not have any errors in the code we can run the complete synthesize to make sure our code is practically implementable. Right click on the synthesize tab and select Rerun all and make sure that you see the process being completed successfully. Once the synthesize process finishes it creates a *.bit file by default in the project directory. This file is used to program the FPGA on the board. How we will program a FPGA will be introduced in a later stage of the course. The next section will focus on writing a test bench for the code and observing the waveforms. 12 P age
13 3 Creating a Test Bench for our Design A test bench is a virtual environment used to verify the correctness or soundness of a design or model. For writing test benches it is important to have the design specification of "design under test" or the DUT. First step of any testbench creation is building a dummy template. This template will contain your DUT and the necessary stimulus. Most of your stimulus will come from procedural blocks, e.g. initial and always. So, we can delay the declare and inputs to DUT as reg and outputs from DUT as wire for now. Note that there is no port list for the test bench. 1. Right click on the PED.V file and select new source as shown below 13 P age
14 2. Select Verilog Text Fixture and name the file as shown below and click on Next > and Finish on the subsequent screens. 3. A default code is created by the Xilinx tool. It is recomm learning to write the code without the help of tool. 14 P age
15 Select and Delete the default code and replace it with the code shown below and save the file. (It is saved in the project directory created by you) tb/tb_ped.v `timescale 1ns / 1ns // // Design Name : ped_tb // File Name : ped_tb.v // Function : Testbench for positive edge detection logic // Coder : HEMANSHU ABBEY // module TB; // Signal Declarations/Internal Variables reg sig, clk, reset_b; wire pulse; // Instatiation of ped module and passing of test vectors ped ped0 (.SIG(sig),.CLK(clk),.RESET_B(reset_b),.PULSE(pulse)); // Code Start initial clk <= 1'b1; reset_b <= 1'b0; sig <= 1'b0; forever #50 clk <= ~clk; clk) reset_b <= 1'b0; sig <= clk) reset_b <= 1'b0; sig <= 1'b0; clk) # 75 reset_b <= 1'b1; sig <= clk) reset_b <= 1'b1; sig <= clk) reset_b <= 1'b1; sig <= clk) reset_b <= 1'b1; sig <= clk) reset_b <= 1'b1; sig <= clk) reset_b <= 1'b1; sig <= 1'b1; #100; $stop; NOTE: Try understanding the testbench and its functioning. It s giving a sequence of events. Try making waveforms as per testbench to boost your understanding. 15 P age
16 4 Simulating our design using Xilinx s isim We will not be using Xilinx as a simulator beyond this lab. But, it is good to get familiar with the different types of simulators. Click the Simulation radio button in the Design window of the ISE Project Navigator. Expand the ISim Simulator tree to reveal Behavioral Check Syntax and Simulate Behavioral Model. Right Click on Simulate Behavioral Model select Run. 16 P age
17 5 Analyzing the results from our Simulation We have implemented a positive edge detection circuit which has a output PULSE which goes high whenever a positive edge is detected in the input sig. We can see from the simulated waveforms that whenever sig goes high the pulse signal also goes high for a clock period. Going ahead if sig stays high then pulse will not respond. This confirms that we have indeed made a positive edge detection and not a level detection circuit. Also we should note that till reset_b is active low the circuitry does not respond to variations in input (Asynchronous reset approach) Similarly try making negative edge detection logic. This concludes the tutorial on workflow with tools and basic coding and testbench approach. Question 1: Using correct Verilog Syntax (Module Declaration, I/O Declaration, Register Declaration, proper use of always blocks, etc ), design a Toggle Flip-Flop. Port Name Port Direction Port Width Description TOGGLE Input 1-bit A single clock-wide pulse to indicate that the current state of the toggle flop should be inverted. CLK Input 1-bit Synchronous Clock Input RESET_B Input 1-bit An active low input which resets the logic to a default state. T_OUT Output 1-bit The current state of the toggle flop. Question 2: Design a Test-Bench to implement the following waveforms 17 P age
18 You need to generate a working test-bench and Xilinx isim waveforms for this question. tb/tb_tff.v Initial CLOCK = 1'b1; RESET = 1'b0; DATA = 1'b0; forever #50 CLOCK <= ~CLOCK; CLOCK) RESET = 1'b0; DATA = CLOCK) RESET = 1'b0; DATA = 1'b0; CLOCK) # 75 RESET = 1'b1; DATA = 1'b0; <FILL YOUR CODE CLOCK) RESET = 1'b1; DATA = 1'b0; #200; $stop; 18 P age
19 6 Using the Xilinx Spartan-3 FPGA This is a general tutorial aimed at getting you familiarized with working on Xilinx Spartan-3 FPGA board. The tutorial is a walkthrough the process of burning the code on FPGA. It is recommed that you go through the tutorial pasted earlier. 1. Open the Xilinx Project Navigator and create a new project for the Xilinx Spartan-3 FPGA. 2. Create a new Verilog file with the following code or you can create a dummy Verilog file and then copy paste the below code. `timescale 1ns / 1ns module blink_led ( CLK, // System Clock RESET, // Active low, asyn reset LED_OUT // LED outputs to indicate locked and unlocked state ); // Input Ports input CLK, RESET; // Output Ports output LED_OUT; // Input ports Data Type wire CLK, RESET; // Output Ports Data Type reg LED_OUT; integer counter = 0; CLK or posedge RESET) if(reset) counter <= 1'b0; LED_OUT <= 1'b0; else if(counter > ) if (counter == ) counter <= 1'b0; LED_OUT <= 1'b0; else counter <= counter + 1'b1; LED_OUT <= 1'b1; else counter <= counter + 1'b1; LED_OUT <= 1'b0; module 3. Run synthesize to verify there is no syntax errors. 4. Now go to User Constraints > Create Timing Constraints as shown below. Click yes 19 P age
20 5. On the next screen give the clock frequency of 20ns. ( The clock on board is 50 MHz) Save the changes. 6. Click ok to proceed as shown below 20 P age
21 7. Close the window for Device Architecture 21 P age
22 8. Now you would be able to see the following screen. Drag and drop your signals on the spreadsheet as shown below. You need to map only 3 signals here as CLK at T9, LED_OUT at P11 and RESET at L14 You need to map your signals to the actual pins on FPGA board. This process is known as creating the UCF (User Constraint File) for the project. The file is saved by the name blink_led.ucf in your project location. If for some reasons you are not able to create the file using the tool then copy paste the below code in notepad and save it as blink_led.ucf (Not as a txt). NET "CLK" TNM_NET = CLK; TIMESPEC TS_CLK = PERIOD "CLK" 20 ns HIGH 50%; #PACE: Start of Constraints generated by PACE #PACE: Start of PACE I/O Pin Assignments NET "CLK" LOC = "T9"; NET "LED_OUT" LOC = "P11"; NET "RESET" LOC = "L14"; #PACE: Start of PACE Area Constraints 22 P age
23 9. Once the UCF is created you need to run Implement Design and then run the Generate Programming File. This created the bit-stream for your code that the FPGA understands. It is created by the extension *.bit. Now click on the Configure Target Device, keep the default settings and click finish as shown. 10. Now you need to assign the bit file to your FPGA (1 st device) as shown below: 23 P age
24 Select the file and click open. You need not assign file for the 2 nd device, so click cancel in the next screen and then click ok on the below screen: 11. Now right click on the 1 st Device and program the FPGA 12. If for some reason you are not able to see the below screen. Try programming again or check your bit stream generation process. 24 P age
25 13. Your code is functional now. You will see LED P11 blinking with around 5 sec gaps. Press the RESET and the LED should turn off till the duration RESET has been pressed. Now try reducing the counter limits as and and re-run the complete process. What do you observe? Can you explain what is happening here? 7 Now you its your turn! Question 3: a) Using Verilog, implement a 1-bit comparator using only inverters and 2-input NAND gates. This comparator has 2 1-bit inputs. The output is 1 if and only if both inputs are the same. The input data lines of the comparator should be labeled starting with A, B and the output with SAME. This file should be called rtl/cmp_1bit.v. b) Use Xilinx s isim to exercise the 1-bit version of your comparator over all possible combinations of inputs. This will require you creating a test-bench that instantiates the comparator and using a procedural block to provide stimulus. This file should be called tb/tb_cmp_1bit.v. c) Using Verilog, create a 4-bit comparator using the 1-bit comparator you created above. The input data lines of the comparator should be labeled starting with A[3:0] and B[3:0] and the output with SAME. This file should be called rtl/cmp_4bit.v. d) Use Xilinx s isim to exercise the 4-bit version of your comparator over all possible combinations of inputs. This will require you creating a test-bench that instantiates the comparator and using a procedural block to provide stimulus. This file should be called tb/tb_cmp_4bit.v. Question 4: Referring to the Chapter 1 Section 7 of the Chu. Text, develop a Verilog test bench that uses the following test vectors to verify our 4-bit comparator and indicate what the expected values for Y should be: Simulation Time A B SAME 0 0 ns 0 0? ns 7 15? ns 12 3? ns 3 3? ns 12 12? ns 4 bx 4 bz? This file should be called tb/tb_cmp.v. Note: I would use a timescale of 1 ns / 1 ns. Simulate this test bench and tell me what the values are for the SAME. 25 P age
26 8 Submission Process Submit the TA the RTL, TESTBENCH and SIMULATION output from Xilinx isim. o It must be contained in a zip file. Rename the zip file to filename.piz. o The contents of the file are as follows: rtl/ped.v. rtl/ned.v. rtl/tff.v rtl/cmp_1bit.v. rtl/cmp_4bit.v. tb/tb_tff.v tb/tb_ped.v tb/tb_ned.v tb/tb_cmp_1bit.v. tb/tb_cmp_4bit.v. tb/tb_cmp.v. doc/q4.txt syn/blink_led_tut.bit syn/blink_led_tut.ucf o The zip file must be named exactly as follows: CSE591_S12_LAB_0.<student_id>.<First_Name>_<Last_Name>.piz o It must be ed to the following accounts: Kyle.Gilsdorf@asu.edu (Kyle Gilsdorf) Due to the number of students in this class, failure to submit the lab in the correct format will result in it being marked as late (5% off final grade, per day late) until the lab is submitted in the correct format. 26 P age
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 informationAn 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 informationXilinx 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 informationDate Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits
Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 11 Introduction to Verilog II Sequential Circuits OBJECTIVES: To understand the concepts
More informationLab 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 informationRecommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto
Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain
More informationDigital Systems EEE4084F FPGA Introduction Verilog and Xilinx ISE [30 Marks]
Digital Systems EEE4084F 2017-05-10 FPGA Introduction Verilog and Xilinx ISE [30 Marks] Background This practical is divided into two parts. The first is a tutorial that shows you how to set up a new FPGA
More informationVerilog 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 informationLab 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 informationENGN 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 informationN-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 information2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog
2IN35 VLSI Programming Lab Work Assignment 1: Hardware design using Verilog Hrishikesh Salunkhe, h.l.salunkhe@tue.nl, Alok Lele, a.lele@tue.nl April 28, 2015 1 Contents 1 Introduction 3 2 Hardware design
More informationand 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 informationLab 7 (All Sections) Prelab: Introduction to Verilog
Lab 7 (All Sections) 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 1 Objective The
More informationGraduate Institute of Electronics Engineering, NTU. FPGA Lab. Speaker : 鍾明翰 (CMH) Advisor: Prof. An-Yeu Wu Date: 2010/12/14 ACCESS IC LAB
FPGA Lab Speaker : 鍾明翰 (CMH) Advisor: Prof. An-Yeu Wu Date: 2010/12/14 ACCESS IC LAB Objective In this Lab, you will learn the basic set-up and design methods of implementing your design by ISE 10.1. Create
More informationVerilog introduction. Embedded and Ambient Systems Lab
Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)
More informationDesign 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 informationLab 2: Barrel Shifter Design
EGR 400 A Advanced Digital System Design Using FPGAs Lab 2: Barrel Shifter Design Prepared for: Dr. Foist Christopher Parisi College of Engineering California Baptist University 10/05/12 Introduction The
More informationBehavioral Modeling and Timing Constraints
Lab Workbook Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4.
More informationTLL5000 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 informationUniversity of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1
University of Hawaii EE 361L Getting Started with Spartan 3E Digilent Basys2 Board Lab 4.1 I. Test Basys2 Board Attach the Basys2 board to the PC or laptop with the USB connector. Make sure the blue jumper
More informationTutorial: 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 informationTutorial 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 informationEE 1315 DIGITAL LOGIC LAB EE Dept, UMD
EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EXPERIMENT # 1: Logic building blocks The main objective of this experiment is to let you familiarize with the lab equipment and learn about the operation of the
More informationELEC 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 informationDepartment 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 informationProgramming 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 informationEE183 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 informationECT 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 informationLaboratory 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 informationLab 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 informationTLL5000 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 informationGetting 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 informationM A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
M A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE 6.111 Introductory Digital Systems Laboratory Fall 2017 Lecture PSet #6 of
More informationRevision: 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 informationRevision: 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 informationUsing 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 informationVerilog Simulation Mapping
1 Motivation UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping In this lab you will learn how to use
More informationXilinx 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 informationVerilog Module Tutorial By TA Brian W. Stevens CMPE415 UMBC Spring 2015 Dr. Tinoosh Mohsenin
Verilog Module Tutorial By TA Brian W. Stevens CMPE415 UMBC Spring 2015 Dr. Tinoosh Mohsenin What will this guide teach you? This guide will go through how to use Xilinx 13.2 to create a Verilog module
More informationSpeaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28
99-1 Under-Graduate Project Verilog Simulation & Debugging Tools Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 ACCESS IC LAB Outline Basic Concept of Verilog HDL Gate Level Modeling
More informationYou will work in groups of four for the project (same groups as Project 1).
COS/ELE 375 Prof. August Lab 2: PAW Processor Design (18 Nov 2015) Due January 12, 2015 Introduction In the prior project, you became familiar with the PAW instruction set. In this project you will design,
More informationLogic Circuits II ECE 2411 Thursday 4:45pm-7:20pm. Lecture 3
Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm Lecture 3 Lecture 3 Topics Covered: Chapter 4 Discuss Sequential logic Verilog Coding Introduce Sequential coding Further review of Combinational Verilog
More informationCircuit 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 informationLab 2 Designing with Verilog
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 2 Designing with Verilog 1.0 Motivation In this lab you will learn how to express
More informationCECS 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 informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Fall 2014 Lab #4: Sequential Design: Counters Issued Wed 9/10/14; Due Wed 9/17/14 (11:59pm) This lab assignment
More informationTutorial 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 informationXilinx 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 informationProgrammable 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 informationA Brief Introduction to Verilog Hardware Definition Language (HDL)
www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital
More informationStep 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 informationENSC E-123: HW D3: Counter Applications; Counter in Verilog
HW D3; Counter Applications 1 ENSC E-123: HW D3: Counter Applications; Counter in Verilog REV 0 1 ; February 12, 2015 Contents 1 Counter Applications: Sync vs Async Function (5 points) 2 1.1 Crummy: asyncclear(2points).................
More informationEE 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 informationECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS
ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one
More informationEE 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 informationEE 1315: DIGITAL LOGIC LAB EE Dept, UMD
EXPERIMENT # 7: Basic Latches EE 1315: DIGITAL LOGIC LAB EE Dept, UMD Latches are primitive memory elements of sequential circuits that are used in building simple noise filtering circuits and flip-flops.
More informationXilinx 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 informationLogic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16
1 Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16 The following is a general outline of steps (i.e. design flow) used to implement a digital system described with
More informationTutorial on Simulation using Aldec Active-HDL Ver 1.0
Tutorial on Simulation using Aldec Active-HDL Ver 1.0 by Shashi Karanam Introduction Active- HDL is an integrated environment designed for development of VHDL designs. The core of the system is a VHDL
More informationUniversity of California, Davis Department of Electrical and Computer Engineering. Lab 1: Implementing Combinational Logic in the MAX10 FPGA
1 University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Winter Quarter 2018 Lab 1: Implementing Combinational Logic in the MAX10 FPGA Objective: This
More informationChapter 9: Integration of Full ASIP and its FPGA Implementation
Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register
More informationDEPT 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 informationCPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:
CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOALS: Getting familiar with DE2 board installation, properties, usage.
More informationGetting 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 informationThe Alarm System: The alarm system to be designed has the following inputs.
1 Introduction In this lab you will use the Xilinx CAD tools to complete the design of a simple home alarm system containing sensors for that indicate whether the Windows, Door, and Garage are secure.
More informationFPGA 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 informationELEC 204 Digital System Design LABORATORY MANUAL
ELEC 204 Digital System Design LABORATORY MANUAL : Introductory Tutorial For Xilinx ISE Foundation v10.1 & Implementing XOR Gate College of Engineering Koç University Important Note: In order to effectively
More information475 Electronics for physicists Introduction to FPGA programming
475 Electronics for physicists Introduction to FPGA programming Andrej Seljak, Gary Varner Department of Physics University of Hawaii at Manoa November 18, 2015 Abstract Digital circuits based on binary
More informationMidterm Exam Thursday, October 24, :00--2:15PM (75 minutes)
Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm
More informationLab 3 Sequential Logic for Synthesis. FPGA Design Flow.
Lab 3 Sequential Logic for Synthesis. FPGA Design Flow. Task 1 Part 1 Develop a VHDL description of a Debouncer specified below. The following diagram shows the interface of the Debouncer. The following
More informationXilinx 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 informationXilinx 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 informationThis Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)
Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There
More informationC A R L E T O N U N I V E R S I T Y. FINAL EXAMINATION April Duration: 3 Hours No. of Students: 108
C A R L E T O N U N I V E R S I T Y FINAL EXAMINATION April 2011 Duration: 3 Hours No. of Students: 108 Department Name & Course Number: ELEC 3500 Digital Electronics Course Instructor(s): Ralph Mason
More informationEngineering 1630 Fall Simulating XC9572XL s on the ENGN1630 CPLD-II Board
Engineering 1630 Fall 2016 Simulating XC9572XL s on the ENGN1630 CPLD-II Board You will use the Aldec Active-HDL software for the required timing simulation of the XC9572XL CPLD programmable logic chips
More informationARM 64-bit Register File
ARM 64-bit Register File Introduction: In this class we will develop and simulate a simple, pipelined ARM microprocessor. Labs #1 & #2 build some basic components of the processor, then labs #3 and #4
More informationChipScope Demo Instructions
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Overview ChipScope is an embedded, software based logic analyzer. By inserting an intergrated
More informationXilinx 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 informationIntroduction to WebPACK 3.1. Using XILINX WebPACK Software to Create CPLD Designs
Introduction to WebPACK 3.1 Using XILINX WebPACK Software to Create CPLD Designs RELEASE DATE: 8/28/2000 All XS-prefix product designations are trademarks of XESS Corp. All XC-prefix product designations
More informationIntroduction. Overview. Top-level module. EE108a Lab 3: Bike light
Version 2.0 David Black-Schaffer Version 2.2 David Black-Schaffer Introduction In lab 3 you are going to get your first taste of sequential logic by building a system of finite state machines, timers,
More informationCircuit 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 informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationCME341 Assignment 4. module if\_else\_combinational\_logic( input [3:0] a, b, output reg [3:0] y ); * begin
CME341 Assignment 4 1. The verilog description below is an example of how code can get butchered by an engineer with lazy debugging habits. The lazy debugger wanted to try something and yet be able to
More informationFPGA Design Flow 1. All About FPGA
FPGA Design Flow 1 In this part of tutorial we are going to have a short intro on FPGA design flow. A simplified version of FPGA design flow is given in the flowing diagram. FPGA Design Flow 2 FPGA_Design_FLOW
More informationDIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1
DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,
More informationECE 4305 Computer Architecture Lab #1
ECE 4305 Computer Architecture Lab #1 The objective of this lab is for students to familiarize with the FPGA prototyping system board (Nexys-2) and the Xilinx software development environment that will
More informationLaboratory 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 informationIntroduction to Nexys 2 board - Detour Signal Lab
1. Synopsis: Introduction to Nexys 2 board - This lab introduces the use of Field Programmable Gate Arrays (FPGA). This lab introduces the Digilent Nexys 2 board and demonstrate FPGA design flow through
More informationPractical 4: RTC on FPGA
Practical 4: RTC on FPGA EEE4084F 2015-04-13 Background This practical is divided into two parts. The first is a tutorial that shows you how to set up a new FPGA project in Xilinx ISE. The second is a
More informationEEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder
EEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder Rajeevan Amirtharajah Dept. of Electrical and Computer Engineering University of California, Davis Issued: May 9, 2011 Due: May 20, 2011, 5 PM in
More informationCPEN 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 informationECE 4514 Digital Design II. Spring Lecture 2: Hierarchical Design
ECE 4514 Digital Design II Spring 2007 Abstraction in Hardware Design Remember from last lecture that HDLs offer a textual description of a netlist. Through abstraction in the HDL, we can capture more
More informationSpiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.
1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus
More informationVerilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE
More informationRevision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax
Xilinx ISE WebPACK VHDL Tutorial Revision: February 27, 2010 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview This tutorial provides simple instruction for using the Xilinx ISE
More informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Prof. Montek Singh Fall 2017 Lab #3A: Sequential Design: Counters Issued Wed 9/6/17; Due Wed 9/13/17 (11:59pm)
More informationCSE370 TUTORIAL 3 - INTRODUCTION TO USING VERILOG IN ACTIVE-HDL
Introduction to Active-HDL CSE370 TUTORIAL 3 - INTRODUCTION TO USING VERILOG IN ACTIVE-HDL Objectives In this tutorial, you will learn how to write an alternate version of the full adder using Verilog,
More informationBehavioral Modeling and Timing Constraints
Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4. However, there
More informationENGN3213. Digital Systems & Microprocessors. CLAB 1: ICARUS Verilog and ISE WebPACK
Department of Engineering Australian National University ENGN3213 Digital Systems & Microprocessors CLAB 1: ICARUS Verilog and ISE WebPACK V3.0 Copyright 2010 G.G. Borg ANU Engineering 1 Contents 1 CLAB1:
More information