CSE/ESE 260M Introduction to Digital Logic and Computer Design. Lab 3 Supplement
|
|
- Lindsey Walsh
- 5 years ago
- Views:
Transcription
1 CSE/ESE 260M Introduction to Digital Logic and Computer Design Due 11/13/2013 and 11/20/2013 Lab 3 Supplement Recall and follow the General notes from lab 1. You may work in groups of up to 2 (but no more than 2) on this lab. You are required to hand in a paper lab report on 11/13/2013. The components of the lab report should be assembled in the order of the steps in the detailed instructions below, and the entire report must be securely fastened together, preferably with a single staple in the top left corner. The names of both group members should appear on the first page. 10 points will be deducted from labs that do not conform to these requirements. In this lab, we will be working with an FPGA development board manufactured by Opal Kelly, the XEM6002 ( The board has a Xilinx Spartan-6 FPGA, 4 push-buttons, 8 LEDs, a USB port for communicating with a computer, and 4 ports for attaching peripheral electronics (like thermometers, microphones, speakers, etc.). The FPGA is a reconfigurable logic circuit that can be used to implement arbitrary digital circuits. We could use it to do anything from making LEDs blink to creating a complete CPU. The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively. Please follow these guidelines for both your own safety and the safety of the equipment around you: Never eat or drink in the lab! Keep the boards unplugged (i.e., powered down) when not in use. Don t directly touch the chips or pins on the board. Handle the boards by the edges. There is little danger of you being injured by an electric shock, but humans can build up very high voltages (on the order of 3 kv) before we feel anything. Electronics are easily damaged by much lower voltages, so be careful! (See and for more on the dangers of ESD.) - 1 -
2 In this lab, you will be building a multiplier circuit, multiplying two 7-bit values (m is the multiplicand, r is the multiplier) encoded in 2 s complement notation, resulting in a 14-bit product (called product). The multiplier circuit will perform its function over multiple clock cycles, utilizing Booth s multiplication algorithm (see the excellent description on the Wikipedia page below). Some of the elements of a data path are provided in the following figure: The inputs m and r are shown on the left, the output product is shown on the right, registers A, S, and P are in the center, and an ALU (similar to the one you designed in lab 2) is also provided. The ALU does not have any internal registers or memory elements (again, the same as the one from lab2). Its inputs are X and Y and its output is Z. The bit-widths of all inputs, outputs, registers, and ALU ins and outs are all as indicated in the data path figure. The ovals in the figure labeled wiring will need to include the appropriate routing and muxing necessary to complete the data path. To complete the lab, you must: (1) design and implement the ALU; (2) complete the design of the data path; and (3) design a controller that will enable the execution of Booth s multiplication algorithm. (1) Design an Arithmetic/Logic Unit (ALU) suitable for use as a component within the data path. As in lab 2, the ALU function will be controlled by a signal func (which can be as many bits as you wish). The ALU will have two 16-bit data inputs, labeled X and Y, and one 16-bit data output, labeled Z. The functions supported should include at least the following: func ALU function add Z = X + Y addition sub Z = X Y subtraction asr Z = asr X arithmetic shift right The arithmetic shift right is a right shift operation that replicates the previous most-significant bit as the new most-significant bit, in addition to shifting the top 15 bits right one bit-position. If you wish, you may expand the set of functions provided by the ALU, but your ALU must support at least the above three functions
3 (2) If you wish, you may add additional registers to the data path, or eliminate elements that you deem unnecessary. (3) Design a finite-state machine controller for your data path that implements Booth s algorithm. A reset input signal should initialize the data path registers to a reasonable value. On the clock cycle after removal of reset, the m and r inputs should be read, and over the subsequent clock cycles, the data path should execute Booth s algorithm and ultimately provide the product of m and r on the product output signal. Detailed instructions: 1. (20 points) Generate a VHDL description of the ALU described above in a file alu.vhd and a VHDL description of the multiplier circuit in a file booth.vhd, including appropriate header comments and other comments throughout. Include a printed copy of the files in your lab report. Also include a block diagram of your final data path (in the style of the figure above, with additional details provided) and documentation of your controller finite-state machine. The FSM documentation can be a state table, state diagram, or any other form that clearly indicates the details of the controller design. 2. (10 points) Generate a testbench file testbooth.vhd, so that you can use it to simulate your multiplier circuit. Include tests to verify several input values for m and r (including some negative values). Include a printed copy of the testbench in your lab report. 3. (10 points) Simulate the mulitiplier using your testbench. Set the radix of the data path signals to hexadecimal. Check the output carefully for errors and modify the design as necessary to ensure that it works correctly. Include a copy of the final simulation output in your lab report. Make sure that all signal values are clearly readable on the printed copy and that you select the print option that includes the signal names on every page of the printed output. Note that you may need to scale the printout to ensure that signal values are readable (do this, by specifying the number of pages of output to print). Add notes to the printed copy, identifying all places where each operation is performed. For each operation, verify that the result shown by the simulation is correct. If any result is not correct, make a note of it and explain why you were unable to correct the calculator source code. Items 1 to 3 above are due on 11/13/ (10 points) Deploy your multiplier circuit on the FPGA and test it out on the real hardware. Item 4 is due on 11/20/2013. Physical I/O on the board: Supplemental Information We will not be using the physical I/O on the board for this lab. If you wish, you can use the LED outputs for debugging purposes, using the techniques from lab 2 (recall that the LED signals are active low, a 0 turns the LED on and a 1 turns the LED off). Virtual I/O on the PC screen: In addition to the physical I/O on the board itself, we can deploy virtual inputs and outputs on the screen of the PC attached to the board s USB port. Logically, this is accomplished as indicated in the figure below
4 Software executes on the PC which presents a user interface. The functions supported by the user interface are described in an XML file which must be loaded into the FrontPanel software. For this lab, we will have two 7-bit inputs (representing m and r) that are provided in hexadecimal; one 14-bit output (representing product) that is presented in hexadecimal; and one 1-bit input (representing reset) that is presented by a pushbutton on the PC screen (labeled rst ). The virtual inputs and outputs are reproduced on the FPGA via the path illustrated in the figure, including the USB port on the PC, the USB controller on the Opal Kelly board, and the host interface and endpoints on the FPGA. In the terminology of the FrontPanel virtual interface, the host is the PC and the target device is the FPGA. The following internal signal definitions are used to interface the endpoints of the virtual interface with the user design: signal ep00wire : STD_LOGIC_VECTOR(15 downto 0); signal ep01wire : STD_LOGIC_VECTOR(15 downto 0); signal ep02wire : STD_LOGIC_VECTOR(15 downto 0); signal ep20wire : STD_LOGIC_VECTOR(15 downto 0); signal ep21wire : STD_LOGIC_VECTOR(15 downto 0); The first three are inputs to the user design (read ep01 as endpoint at address 01 hex ; addresses between 00 and 1F are inputs), and the latter two are outputs from the user design (addresses 20 to 3F are outputs). All are defined as 16-bits wide, we will use subsets of the full 16 bits to connect to the user design. Specifying the top-level design and synthesizing: Ensure that you have specified the right FPGA part and speed grade. See lecture slides from Sept. 16. Go to the class webpage to download lab3files.zip and extract the files to a folder on your H: drive. Each of the following files should be added to your project using Project -> Add copy of source : lab3top.vhd xem6002.ucf okcoreharness.ngc - 4 -
5 oklibrary.vhd okwirein.ngc okwireout.ngc TFIFO64x8a_64x8b.ngc In the previous lab, you needed to edit the file lab2top.vhd to instantiate your design. That is not required for this lab, as the lab3top.vhd already instantiates the Booth multiplier. If you wish to edit lab3top.vhd to utilize the LED outputs for debugging, use the techniques from the previous lab to do so. The file xem6002.ucf specifies the timing constraints and pin-out for the FPGA part. The remaining files specify the FPGA end of the virtual interface. You are now ready to synthesize your design. Synthesizing is very much like compiling for conventional computer languages, but instead of turning your code into instructions for a processor, it will turn your code into a network of components (e.g., logic gates and registers) connected by wires. Synthesize your design by selecting your top-level VHDL file in the Hierarchy panel and double clicking Synthesize XST in the Processes panel. (Note: the Implementation radio button above the Hierarchy panel must be lit, not the Simulation button.) It should run for a minute or two before reporting Process Synthesize XST completed successfully in the console. Your Design Summary page should update to report successful synthesis as well. Next double click on Generate Programming File in the Processes panel. This will take a minute or two, even for this simple design. The end result is a.bit file, also known as a programming or configuration file. Programming the FPGA: Once you have successfully generated a programming file for the FPGA, you can download it onto the development board using the Opal Kelly tools and the USB interface. Open the Opal Kelly FrontPanel application. It s listed in the start menu under All Programs > Opal Kelly > FrontPanelUSB on the lab computers. With no FPGA board connected, it should look like this: Plug your XEM6002 board into the computer using a USB Mini-B cable. A green LED labeled D9 should light indicating that it is powered and FrontPanel should detect the device: - 5 -
6 Click the FPGA icon to choose the programming (aka.bit or configuration ) file to download. Xilinx ISE will have placed the generated file in the root of your project directory. When you choose the file, FrontPanel will download the programming file onto the board. Click on the circle icon (to the left of the FPGA icon) to load a FrontPanel XML profile (provided as part of lab3files.zip). This will launch a new window with the virtual interface. Using the on-screen window to set the inputs, exercise your ALU to ensure that it operates as it should. Checkout logistics: The Bryan 316/306 lab spaces are available 9am to 4pm Monday through Friday. Stuart Cranor (his office is Bryan 308) can check out an Opal Kelly board to your group. Please return it by 4pm. Alternatively, during consulting hours, you can check out a board from the TAs. Please return it by the end of TA hours. When you are ready to demonstrate your functioning ALU, please show it to the instructor or a TA. Please make sure both lab partners are present for the demo
The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively.
Lab 1 You may work in pairs or individually on this lab Lab Objectives Learn about the equipment we will be using and how to handle it safely. Learn the basics of using Xilinx ISE to develop hardware designs
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 informationEITF35 - Introduction to Structured VLSI Design (Fall ) 7. Assignment 3 - Arithmetic Logic Unit (ALU)
EITF35 - Introduction to Structured VLSI Design (Fall 2018 2016 2015) 7 Assignment 3 - Arithmetic Logic Unit (ALU) v.1.1.0 Introduction In this lab assignment, a simple arithmetic logic unit (ALU) will
More informationDesign of Digital Circuits
Design of Digital Circuits Lecture 3: Introduction to the Labs and FPGAs Prof. Onur Mutlu (Lecture by Hasan Hassan) ETH Zurich Spring 2018 1 March 2018 1 Lab Sessions Where? HG E 19, HG E 26.1, HG E 26.3,
More informationAssignment 01 Computer Architecture Lab ECSE
Assignment 01 Computer Architecture Lab ECSE 487-001 Date due: September 22, 2006, Trottier Assignment Box by 14:30 1 Introduction The purpose of this assignment is to re-familiarize the student with VHDL
More informationAccelDSP 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 informationCprE 381 Computer Organization and Assembly Level Programming
CprE 381 Computer Organization and Assembly Level Programming Mini-Project B, Version 1.0 Last update: 10/21/2013 This is a three-week project. You will design and implement two versions of a single-cycle
More informationLAB 9 The Performance of MIPS
LAB 9 The Performance of MIPS Goals Learn how the performance of the processor is determined. Improve the processor performance by adding new instructions. To Do Determine the speed of the processor in
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 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 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 informationLAB 9 The Performance of MIPS
Goals To Do LAB 9 The Performance of MIPS Learn how the performance of the processor is determined. Improve the processor performance by adding new instructions. Determine the speed of the processor in
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 informationLab Assignment 1. Developing and Using Testbenches
Lab Assignment 1 Developing and Using Testbenches Task 1 Develop a testbench in VHDL to test and verify the operation of an ALU (Arithmetic Logic Unit), specified using Fig. 1 and Tables 1 and 2. The ALU
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 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 informationTo design a 4-bit ALU To experimentally check the operation of the ALU
1 Experiment # 11 Design and Implementation of a 4 - bit ALU Objectives: The objectives of this lab are: To design a 4-bit ALU To experimentally check the operation of the ALU Overview An Arithmetic Logic
More informationLab Assignment 2. Implementing Combinational and Sequential Logic in VHDL
Lab Assignment 2 Implementing Combinational and Sequential Logic in VHDL Task 1 Draw a detailed block diagram of the ALU (Arithmetic Logic Unit), specified using Fig. 1 and Tables 1 and 2. Then develop
More informationThe assignments will help you learn Verilog as a Hardware Description Language and how hardware circuits can be developed using Verilog and FPGA.
General Instructions The assignments will help you learn Verilog as a Hardware Description Language and how hardware circuits can be developed using Verilog and FPGA. You have to come to the lab during
More informationBanks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme]
QUT Digital Repository: http://eprints.qut.edu.au/ This is the author version published as: This is the accepted version of this article. To be published as : This is the author s version published as:
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 informationTutorial: 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 informationUniversity of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018
University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers
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 2016 Lab #5: Working with the boards! Issued Wed 9/21/16; Due Wed 9/28/16 (submit by 11:59pm)
More informationLaboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication
Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.
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 informationLAB 9 The Performance of MIPS
LAB 9 The Performance of MIPS Goals Learn how to determine the performance of a processor. Improve the processor performance by adding new instructions. To Do Determine the speed of the processor in Lab
More informationBuilding Combinatorial Circuit Using Behavioral Modeling Lab
Building Combinatorial Circuit Using Behavioral Modeling Lab Overview: In this lab you will learn how to model a combinatorial circuit using behavioral modeling style of Verilog HDL. You will model a combinatorial
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 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 informationLab 7: RPN Calculator
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory Lab 7: RPN Calculator The purpose of this lab is: Purpose 1. To get familiar with the use
More informationLogic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17
1 Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17 The following is a general outline of steps (i.e. design flow) used to implement a digital system described with
More informationIntroduction. 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 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 informationLab 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 informationProgrammable Logic Design I
Programmable Logic Design I Read through each section completely before starting so that you have the benefit of all the directions. Put on a grounded wrist strap (cf. Getting Started) before touching
More informationLab 2 Implementing Combinational Logic in VHDL. Advanced Testbenches.
Task 1 (30%) Lab 2 Implementing Combinational Logic in VHDL. Advanced Testbenches. Draw a block diagram of the combinational circuit described by the given below pseudocode. Inputs: A: 8-bit unsigned integer
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 informationANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II
ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 1 - INTRODUCTION TO XILINX ISE SOFTWARE AND FPGA 1. PURPOSE In this lab, after you learn to use
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 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 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 informationAdvanced module: Video en/decoder on Virtex 5
Advanced module: Video en/decoder on Virtex 5 Content 1. Advanced module: Video en/decoder on Virtex 5... 2 1.1. Introduction to the lab environment... 3 1.1.1. Remote control... 4 1.2. Getting started
More informationLab 2 EECE473 Computer Organization & Architecture University of Maine
Lab 2: Verilog Programming Instructor: Yifeng Zhu 50 Points Objectives: 1. Quatus II Programming assignment: PIN assignments, LEDs, switches; 2. Download and test the design on Altera DE2 board 3. Create
More informationCSE140L: Components and Design
CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam
More informationName EGR 2131 Lab #6 Number Representation and Arithmetic Circuits
Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits Equipment and Components Quartus software and Altera DE2-115 board PART 1: Number Representation in Microsoft Calculator. First, let s
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 informationXilinx 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 informationQUARTUS 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 informationLab 3: Standard Combinational Components
Lab 3: Standard Combinational Components Purpose In this lab you will implement several combinational circuits on the DE1 development board to test and verify their operations. Introduction Using a high-level
More informationTutorial for Altera DE1 and Quartus II
Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development
More informationLaboratory Exercise 3
Laboratory Exercise 3 Latches, Flip-flops, and egisters The purpose of this exercise is to investigate latches, flip-flops, and registers. Part I Altera FPGAs include flip-flops that are available for
More informationECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 6, 2006 Classes November 6 and 8 are in 429 Dana! Lecture 15: Homework 5: Datapath How to write a testbench for synchronous
More information1. 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 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 informationSimulation Lab 7 Use ISE to Auto-Generate Testbench Simulations
Simulation Lab 7 Use ISE to Auto-Generate Testbench Simulations National Science Foundation Funded in part, by a grant from the National Science Foundation DUE 1003736 and 1068182 Step 1: steps should
More informationCSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools
CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera
More informationEET 1131 Lab #7 Arithmetic Circuits
Name Equipment and Components Safety glasses ETS-7000 Digital-Analog Training System Integrated Circuits: 7483, 74181 Quartus II software and Altera DE2-115 board Multisim simulation software EET 1131
More informationCSE140L: Components and Design Techniques for Digital Systems Lab
CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check
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 informationDigital Design and Computer Architecture
Digital Design and Computer Architecture Introduction Lab 4: Thunderbird Turn Signal In this lab, you will design a finite state machine in SystemVerilog to control the taillights of a 1965 Ford Thunderbird
More informationMANUAL XILINX ISE PROJECT NAVIGATOR
Hochschule für Angewandte Wissenschaften Hamburg University of Applied Sciences Department of Electrical Engineering and Computer Sciences MANUAL XILINX ISE PROJECT NAVIGATOR AND MODELSIM Design Flow for
More informationLab #12: ArithmeticLogic Unit
Lab #12: ArithmeticLogic Unit Zack Mattis Lab: 3/27/17 Report: 4/8/17 Partner: Brendan Schuster Purpose In this lab, a fully functioning 4-bit Arithmetic Logic Unit (ALU) was designed and fully implemented
More informationCSEE W4840 Embedded System Design Lab 1
CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due January 31, 2008 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationSummary of FPGA & VHDL
FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:
More informationDE2 Board & Quartus II Software
January 23, 2015 Contact and Office Hours Teaching Assistant (TA) Sergio Contreras Office Office Hours Email SEB 3259 Tuesday & Thursday 12:30-2:00 PM Wednesday 1:30-3:30 PM contre47@nevada.unlv.edu Syllabus
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 informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Spring 2015 Lab #5: Working with the boards! Issued Wed 2/4/15; Due Wed 2/11/15 (submit by 11:59pm) This lab introduces
More informationVerilog Essentials Simulation & Synthesis
Verilog Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using Verilog standard language.
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 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 informationExercise Sheet 3 (10 Points)
lea.schoenberger [ ] tu-dortmund.de benjamin.glaeser [ ] tu-dortmund.de niklas.ueter [ ] tu-dortmund.de mikail.yayla [ ] tu-dortmund.de Exercise for the lecture Embedded Systems Wintersemester 17/18 Exercise
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 information4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)
1 4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) Lab #1: ITB Room 157, Thurs. and Fridays, 2:30-5:20, EOW Demos to TA: Thurs, Fri, Sept.
More informationIntro to Digital Logic, Lab 5 Sequential Logic. Lab Objectives. Assigned Task Mapping sequential logic to the FPGA
Intro to Digital Logic, Lab 5 Sequential Logic Lab Objectives Now that we have mastered combinational logic, it is time to figure out sequential circuits. In this lab you will download a premade design
More informationDigital 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 informationENEE245 Digital Circuits and Systems Lab Manual
ENEE245 Digital Circuits and Systems Lab Manual Department of Engineering, Physical & Computer Sciences Montgomery College Version 1.1 Copyright Prof. Lan Xiang (Do not distribute without permission) 1
More informationMemory Controller. System Integration Issues. Encoding numbers 1GB RAM FSM. Communicating FSMs Clocking, theory and practice. Combinational Logic
Memory Controller System Integration Issues Communicating FSMs Clocking, theory and practice Encoding numbers 0 1 0 4 2 3 1 2 1GB RAM FSM Clock D Current Combinational Logic Next Input Output always @(posedge
More informationECE2029: Introduction to Digital Circuit Design Lab 3 Implementing a 4-bit Four Function ALU
ECE2029: Introduction to Digital Circuit Design Lab 3 Implementing a 4-bit Four Function ALU Objective: Inside a computer's central processing unit (CPU) there is a sub-block called the arithmetic logic
More informationIntroduction to VHDL Design on Quartus II and DE2 Board
ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and
More informationECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University. Laboratory Exercise #1 Using the Vivado
ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou, Andrew Douglass
More informationCSE 141L Computer Architecture Lab Fall Lecture 3
CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationCS/EE Prerequsites. Hardware Infrastructure. Class Goal CS/EE Computer Design Lab. Computer Design Lab Fall 2010
CS/EE 3710 Computer Design Lab Fall 2010 CS/EE 3710 Computer Design Lab T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand MEB 3142 Office Hours: After class, when
More informationCS/EE Computer Design Lab Fall 2010 CS/EE T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand
CS/EE 3710 Computer Design Lab Fall 2010 CS/EE 3710 Computer Design Lab T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand MEB 3142 Office Hours: After class, when
More informationEKT 422/4 COMPUTER ARCHITECTURE. MINI PROJECT : Design of an Arithmetic Logic Unit
EKT 422/4 COMPUTER ARCHITECTURE MINI PROJECT : Design of an Arithmetic Logic Unit Objective Students will design and build a customized Arithmetic Logic Unit (ALU). It will perform 16 different operations
More informationTiming Analysis in Xilinx ISE
Timing Analysis in Xilinx ISE For each design which is to be implemented, constraints should be defined to get predictable results. The first important class of constraints was already introduced in the
More informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationUsing Xilinx ChipScope Pro ILA Core with Project Navigator to Debug FPGA Applications. UG750 (v12.3) November 5, 2010
Using Xilinx ChipScope Pro ILA Core with Project Navigator to Debug FPGA Applications UG750 (v12.3) November 5, 2010 Xilinx is disclosing this user guide, manual, release note, and/or specification (the
More informationFinal Project: MIPS-like Microprocessor
Final Project: MIPS-like Microprocessor Objective: The objective of this project is to design, simulate, and implement a simple 32-bit microprocessor with an instruction set that is similar to a MIPS.
More informationElec 326: Digital Logic Design
Elec 326: Digital Logic Design Project Requirements Fall 2005 For this project you will design and test a three-digit binary-coded-decimal (BCD) adder capable of adding positive and negative BCD numbers.
More informationCpr E 281 FINAL PROJECT ELECTRICAL AND COMPUTER ENGINEERING IOWA STATE UNIVERSITY. FINAL Project. Objectives. Project Selection
Objectives The main objective of the final project is to teach you how to put together all of the class material that you have learned so far in order to program the Altera DE2 board to carry out an independent
More informationSchedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November
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 information2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.
Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog Objectives By the end of this experiment, you should know: How to design digital circuits using
More informationHow to use the IP generator from Xilinx to instantiate IP cores
ÁÌ ¹ ÁÒØÖÓ ÙØ ÓÒ ØÓ ËØÖÙØÙÖ ÎÄËÁ Ò ÐÐ ¾¼½ µ ÓÙÖ ÔÖÓ Ø Úº½º¼º¼ 1 Introduction This document describes the course projects provided in EITF35 Introduction to Structured VLSI Design conducted at EIT, LTH.
More informationLab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio
ECE2049 Embedded Computing in Engineering Design Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab, you will be introduced to the Code Composer Studio
More informationNOTE: This tutorial contains many large illustrations. Page breaks have been added to keep images on the same page as the step that they represent.
CSE 352 Tutorial # 4 Synthesizing onto an FPGA Objectives This tutorial will walk you through the steps of implementing a design made in Active-HDL onto the Altera Cyclone II FPGA NOTE: This tutorial contains
More informationVHDL introduction Notes
UH Hawaii Manoa 475 Electronics for physicists VHDL introduction Notes Author: Andrej Seljak Date: Fall 2016 update 1 Ver: 1.0 Table of Contents 1. FPGA description3 2. USB EVALUATION board 4 3. ISE Xilinx
More information