ECE2029: Introduction to Digital Circuit Design. Lab 2 Implementing Combinational Functional Blocks
|
|
- Oliver Butler
- 5 years ago
- Views:
Transcription
1 ECE2029: Introduction to Digital Circuit Design Lab 2 Implementing Combinational Functional Blocks Objective: In this lab exercise you will simulate, test, and download various digital circuits which implement some common combinational functions like an adders and a two's complement circuit. You will again simulate and implement your circuits completely using Verilog code. Pre-lab Assignment: This pre-lab assignment is to be completed by each students before your lab session and must be signed-off by the TA during your lab session. Pre-labs help you to become oriented to the problem before you enter lab, help complete your design in advance and prevent wasting time in lab. Include the signed pre-labs for both team members in your report. 1) READ the whole lab assignment! 2) A full adder, as we discussed in class, is a circuit that adds 2 bits A and B plus any possible Carry from a less significant bit. For the full adder block diagram below: a. Refer to the posted notes from Lecture 4 for the truth table for a Full Adder. Write out the full Sum of Products (i.e. full sum of minterms) expressions for Cout and Sum. Also write out the full Product of Sums expressions for for Cout and Sum (you may use sigma and pi notation). b. Using a Karnaugh Map, find minimized expressions for Cout and Sum. Cin Cout Full A Adder Sum B Figure 1 3) Using the block diagram of the one bit full adder shown above, draw a schematic showing how you would implement a 4 bit adder which could add any two 4-bit binary numbers like A 3 A 2 A 1 A 0 + B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0 using four full adders. Be sure to label all inputs and outputs and show how the carry out of each less significant bit becomes the carry in of the next more significant bit (but carry-in of the LSB is always 0).
2 4) Write out a Boolean expression for detecting OVERFLOW in addition of two 4-bit signed numbers. OF_S = 5) Write out a Boolean expression for detecting OVERFLOW in addition of two 4-bit unsigned numbers. OF_U = Lab Assignment: In this lab you will impement your Full Adder design and then you will use your 1-bit adder to implement a 4-bit adder. Refer back to the Lab 1 tutorial for detail on creating new projects, adding sources, performing simulations, etc. 1. Open Vivado and create a new project correctly setting the target FPGA properties as you did in Lab 1. Add a new Verilog source module and call it fulladd.v. 2. Fill out the Port-assignment Wizard according to figure below with inputs A, B and Cin and outputs Sum and Cout. Remeber that Verilog, like C, is case sensitive and A is considered a different variable from a. Vivado will generate the Verilog module shell with those inputs and outputs declared. REMEMBER TO FILL IN THE COMMENTS BLOCK with your name(s) and a brief description of the module!!
3 You will need to add the assign statements to implement your full-adder expressions for Cout and Sum. In Verilog the Boolean operations are written as & for AND, for OR, ~ for NOT and ^ for XOR. 3. Unlike most calculators and many software programming languages there is NO implied order of operations among the BOOLEAN operators in Verilog. You must enforce order of operations with ( ). Ex: F = (A B' + C)' + A'C // Verilog assignment for F assign F = (~((A & (~B)) C)) ((~A) & C); Implement the Verilog assignment statements for the expressions you generated for Cout and Sum in the module and save. 4. Drawing on the contraints file from Lab 1 as an example, add a contraints (.xdc) file to your project that assignes inputs A, B and Cin to switches SW0, SW1 and SW2 respectively and assigns outputs Sum and Cout to LEDs LD0 and LD1 respectively. The constraints file is stored in a directory called something like "proj_name/proj_name.srcs/constrs_1". Below is this directory structure for my lab 1 project. Note that I run Linux but you will see a similar directory stucture in Windows Explorer for your lab 1 project directory. 5. Run Synthesis. You should see no errors.
4 6. Add a source for simulation to implement a full-adder test bench (as you did in Lab 1). Add Verilog to instantiate your fulladd module as U1 and apply test inputs for all possible input combinations of A, B and Cin. Remember that you will need to make register declarations to define the input variables to your U1 module and wire declarations for the output variables. This is because the simulation is run entirely within the development environment. It does not use the input/output constraints associated with the fulladd.v source Run a Behavioral Simulation to verify that you circuits are behaving correctly. Capture these ISim results for your lab report. 7. Run Implementation and then run a Post Implementation Timing Simulation. Measure the timing delay for Cout for when A=1 B=0 transitions to A=1 B=1. Capture these ISim results for your lab report. 8. Generate Bit file and Program Device. Verify that your full adder is working properly then demonstrate it to the TA for sign-off. Implementing a 4-Bit Adder in Verilog 9. Save your project then add a new Verilog Design Source, called fouradd.v, and fill in it's comment block. In this case your inputs and outputs will be 4 bit buses. See the example Port Declaration below. Notice that this module has no inputs for carries. That is because carry from one column to the next is part of the internal workings of this circuit. The user does not need (or want) to see that. Rather the user expects to input two 4-bit numbers and get the correct 4-bit result (or be flagged that an error has occurred). 10. Right click on fouradd.v then Set as Top. In this Verilog module you will instantiate copies of the fulladd module. To instantiate a module you need to call it something unique so that Verilog can separate the fulladd used for bit 0 from the one used for bit 3.
5 Give each of the 4 fulladd-ers you instantiate a U#. See the code example below. You will also need internal connections (called wires ) to convey carry information from one fulladd module to the next. These wires are not inputs or outputs so they weren't defined when we did the port declaration. They are like labeled intermediate points on a circuit diagram. 11. Use assign statements to implement the signed overflow flag, OF_S, and the unsigned overflow flag, which is carry out of the most significant bit, C_MSB. 12. Right click on your fulladd.xdc constraint file and remove it from the project (you should not delete it, however). There can only be one constraint file active in a project at a time. Now add a new contraints file (fouradd.xdc) to your project and assignes inputs A[3:0] to SW3-SW0 (shown below) and B[3:0] to SW7-SW4. Also assign outputs Sum[3:0] to LEDs LD3-LD0 and OF_S to LD15 and C_MSB to LD14 respectively. Remember, pin assignment are given in Figure 16 of the Basys 3 Reference Manual. Run Synthesis. #Switches set_property PACKAGE_PIN V17 [get_ports {A[0]}] set_property IOSTANDARD LVCMOS33 [get_ports {A[0]}] set_property PACKAGE_PIN V16 [get_ports {A[1]}] set_property IOSTANDARD LVCMOS33 [get_ports {A[1]}] set_property PACKAGE_PIN W16 [get_ports {A[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {A[2]}] set_property PACKAGE_PIN W17 [get_ports {A[3]}] set_property IOSTANDARD LVCMOS33 [get_ports {A[3]}] #... ADD other switches and LEDs 12. Add a new source for simulation and create a test bench for your fouradd module. Make sure to set your new TB as top. (If there is a problem, you may need to remove your fulladd testbench. Again, don't delete it!) There are 256 possible input combinations
6 for A and B. Select a handful of inputs to test in your simulation. Be sure to set one or two that will activate OF_S and/or C_MSB. Run a Behavioral Simulation and save the ISim output for your report. 13. Run Implementation and a Post Implementation Timing Simulation. Measure the longest timing delay for the input cases you chose. Capture these ISim results for your lab report. 14. Generate Bit file and Program Device. Verify that your 4-bit adder is working properly then demonstrate it to the TA for sign-off. IMPLEMENT 2's COMP CIRCUIT In this section you will exploit hierarchical design strategies to implement a twos complement circuit. This module will make use of your fouradd module which in turn makes use of your fulladd module. 15. Save your project then add a new Verilog Design Source, called twoscomp4, and fill in it's comment block. Your module will have a single 4-bit input called B and a single 4-bit output called negb. Set twoscomp4 as the Top Module. 16. As we saw earlier in the term 2's complement encoding is an efficient way to encode negative numbers because it is "consistant" under addition. The four bit adder you just implemented works for the addition of both positive and negative numbers provided the numbers are encoded in 2's complement format. As you may remember from Mini-Exam #1 expressing negative numbers in 2's comp is not very intuitive to do by hand. While it is relatively easy to convert +6 to 0110b it is not as straigthforward to convert -6 to its 2's comp representation of Therefore we will create a circuit automatically convert a number B to -B in 2's complement. Note: You will use this module again next week. -B = not(b) + 1 B 2's -B Comp This step will require you to use a multi-bit constant as one of the inputs to your fouradd module. In Verilog, constant vectors are implemented as follows n'bxxx...x where n = number of digits, B = code for the base (e.g. b = binary ) x = digits So a 4-bit constant equal to 0001b would be written in Verilog as 4b' Remove, but don't delete, your fouradd constraint file then add a new constraint file for your 2's comp circuit. Assign inputs B[3:0] to SW3-SW0 and outputs negb[3:0] to LEDs 3-0.
7 19. Add a testbench for your twoscomp4 module and set it as Top in simulation. Instantiate your 2's comp module and exhaustively test all 16 input combinations. 20 Run a Behavioral Simulation and then run Implementation and a Post Implementation Timing Simulation. Capture both these ISim results for your lab report. 21. Generate a bit file and Program the Artix 7. Verify that your 4-bit 2's comp circuit is working properly then demonstrate it to the TA for sign-off. 22. Write a high-quality Lab Report which includes all your Verilog code, constraint, files, testbenches, simulation results, your pre-labs, your sign-off sheet as well as the grading rubric. ALL TEAM MEMBERS SHOULD SAVE THIS PROJECT TO YOUR NETWORK DRIVES RIGHT NOW!!!
8 ECE2029 Lab 2 Sign-Off Sheet Make sure lab instructor/tas initial and date each part. Attach this sheet and the Report Grading Rubric to your team's lab report! Your Name: ECE BOX #: Lab Partner: Date Performed: Demonstrated correctly: Pre-lab Complete (1) (2) (10 pts, individually) Verilog Full Adder (15pts) Verilog 4-bit Adder (20 pts) Verilog 4-bit Two's complement (20 pts) TA Questions: (1) (2) (5 pts, individually ) Report (one per team) (30 pts) (including all Verilog modules, test bench, constraint files, test screen shots, this sign-off sheet and the grading rubric below.)
9 Lab 2 Implementing Combinational Functional Blocks Review Item Comments Points (max) 1) Prelabs from each student complete (5) and thoughtful 2) Introduction effectively presents the (5) objectives and purpose of the lab. Methodology gives enough details to allow for replication of procedure. 3) Discussion opens with an effective (5) statement on the goals of the lab, backs up statement with reference to appropriate findings, provides sufficient and logical explanation for the statement, addresses other issues pertinent to lab. 4) Results opens with effective statement of (5) overall findings, presents visuals clearly and accurately, presents findings clearly and with sufficient support. You MUST include screen shots of the test bench results for each part of the lab. Conclusion convincingly describes what has been learned in the lab. 5) Other: (10) References are included. Tables and figures are formatted. Grammar and spelling are correct Comment Blocks for ALL Verilog modules are filled in with students names and module description/purpose Report is written clearly and to the point. Overall, the team... has successfully demonstrated what the lab was designed to teach demonstrates clear and thoughtful scientific inquiry has accurately measured and analyzed data for lab findings Total: (30)
ECE2029: 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 informationECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver
ECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver Objective: In this lab you will implement a driver circuit for the 4-digit
More informationECE2029: Introduction to Digital Circuit Design Lab 5 Using Sequential Logic Circuits A Digital Stop Watch
ECE2029: Introduction to Digital Circuit Design Lab 5 Using Sequential Logic Circuits A Digital Stop Watch Objective: In this lab you will create a digital stop watch capable of counting and displaying
More informationECE 152A LABORATORY 2
ECE 152A LABORATORY 2 Objectives : 1. Understand the trade-off between time- and space-efficiency in the design of adders. In this lab, adders operate on unsigned numbers. 2. Learn how to write Verilog
More informationCSE140 L. Instructor: Thomas Y. P. Lee January 18,2006. CSE140L Course Info
CSE4 L Instructor: Thomas Y. P. Lee January 8,26 CSE4L Course Info Lectures Wedesday :-:2AM, HSS33 Lab Assignment egins TA s JinHua Liu (jhliu@cs.ucsd.edu) Contact TAs if you re still looking for a lab
More informationA B A+B
ECE 25 Lab 2 One-bit adder Design Introduction The goal of this lab is to design a one-bit adder using programmable logic on the BASYS board. Due to the limitations of the chips we have in stock, we need
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 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 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 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 informationVivado 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 informationLab 6 Debugging. Objective. Introduction. Prelab
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 6 Debugging Objective You will explore several techniques for debugging a digital
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 informationStudent Number: UTORid: Question 0. [1 mark] Read and follow all instructions on this page, and fill in all fields.
CSC 258H1 Y 2016 Midterm Test Duration 1 hour and 50 minutes Aids allowed: none Student Number: UTORid: Last Name: First Name: Question 0. [1 mark] Read and follow all instructions on this page, and fill
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
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 information5 Arithmetic Logic Unit
Arithmetic Logic Unit, Muxes 5 Arithmetic Logic Unit I Overview An Arithmetic Logic Unit (ALU) allows many pre-defined functions to be implemented on two binary inputs. We will look at a simple ALU that
More informationVerilog Lab. Two s Complement Add/Sub Unit. TA: Xin-Yu Shi
Verilog Lab. Two s Complement Add/Sub Unit TA: Xin-Yu Shi genius@access.ee.ntu.edu.tw Introduction In previous lecture, what you have learned : Complete representation for binary negative number Arithmetic
More informationLab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)
Nate Pihlstrom, npihlstr@uccs.edu Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Objective The objective of this lab assignment is to introduce and use a methodology for designing
More informationCOS/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 informationLab Manual for COE 203: Digital Design Lab
Lab Manual for COE 203: Digital Design Lab 1 Table of Contents 1. Prototyping of Logic Circuits using Discrete Components...3 2. Prototyping of Logic Circuits using EEPROMs...9 3. Introduction to FPGA
More informationVivado 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 informationEngineering 303 Digital Logic Design Fall 2018
Engineering 303 Digital Logic Design Fall 2018 LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design Build the following designs and verify correct operation. This lab uses hierarchical design.
More informationEEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial
EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial Dept. of Electrical and Computer Engineering University of California, Davis Issued: October 10, 2011 Due: October 19, 2011, 4PM Reading: Rabaey Insert
More informationNumbering Systems. Number Representations Part 1
Introduction Verilog HDL modeling language allows numbers being represented in several radix systems. The underlying circuit processes the number in binary, however, input into and output from such circuits
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 #1: Getting Started Issued Fri. 1/9/15; Due Wed. 1/14/15 (11:59pm) This lab assignment consists
More informationExperiment 3. Digital Circuit Prototyping Using FPGAs
Experiment 3. Digital Circuit Prototyping Using FPGAs Masud ul Hasan Muhammad Elrabaa Ahmad Khayyat Version 151, 11 September 2015 Table of Contents 1. Objectives 2. Materials Required 3. Background 3.1.
More informationDigital Fundamentals. Lab 6 2 s Complement / Digital Calculator
Richland College Engineering Technology Rev. 0. Donham Rev. 1 (7/2003) J. Horne Rev. 2 (1/2008) J. radbury Digital Fundamentals CETT 1425 Lab 6 2 s Complement / Digital Calculator Name: Date: Objectives:
More informationIntroduction. In this exercise you will:
Introduction In a lot of digital designs (DAQ, Trigger,..) the FPGAs are used. The aim of this exercise is to show you a way to logic design in a FPGA. You will learn all the steps from the idea to the
More informationEE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE
EE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE 1 Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables, logic gates, and output
More informationIntroduction to Xilinx Vivado tools
Introduction to Xilinx Vivado tools This document is meant to be a starting point for users who are new to using the Xilinx Vivado tools. The document will describe the basic steps to start, create, simulate,
More informationLABORATORY # 6 * L A B M A N U A L. Datapath Components - Adders
Department of Electrical Engineering University of California Riverside Laboratory #6 EE 120 A LABORATORY # 6 * L A B M A N U A L Datapath Components - Adders * EE and CE students must attempt also to
More informationIntroduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE
Introduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE 1. Synopsis: This lab introduces Xilinx Schematic Editor to input a digital design and ModelSim to simulate
More informationLab 1 - Zynq RTL Design Flow
NTU GIEE, MULTIMEDIA SYSTEM-ON-CHIP DESIGN Lab 1 - Zynq RTL Design Flow Pin-Hung Kuo May 11, 2018 1 INTRODUCTION In this lab, we are going to build a simple Zynq system on ZedBoard. This system works as
More informationLecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration
TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction
More informationLab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston
Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston Introduction This lab introduces the concept of modular design by guiding you through
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 informationEE209 Lab Change We Can Believe In
EE209 Lab Change We Can Believe In Introduction In this lab you will complete the control unit and datapath for a vending machine change collector and dispenser. This lab will build on the vending machine
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 #1: Getting Started Issued Wed. 8/24/16; Due Wed. 8/31/16 (11:59pm) This lab
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 informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Spring 2016 Lab #1: Getting Started Issued Wed. 1/13/16; Due Wed. 1/20/16 (11:59pm) This lab assignment consists
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 2012 Lab #2: Hierarchical Design & Verilog Practice Issued Fri. 1/27/12; Due Wed 2/1/12 (beginning of class)
More informationExperiment 18 Full Adder and Parallel Binary Adder
Objectives Experiment 18 Full Adder and Parallel Binary Adder Upon completion of this laboratory exercise, you should be able to: Create and simulate a full adder in VHDL, assign pins to the design, and
More informationLAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design
Engineering 303 Digital Logic Design LAB 4: Seven Seg, Full Adder, Ripple Adder, Heirarchical Design Build the following designs and verify correct operation. This lab uses hierarchical design. Review
More informationESE 150 Lab 07: Digital Logic
LAB 07 In this lab we will do the following: 1. Investigate basic logic operations (AND, OR, INV, XOR) 2. Implement an ADDER on an FPGA 3. Implement a simple Finite- State Machine on an FPGA Background:
More informationLecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1
Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The
More informationSFWR ENG 2DA4 Lab 1. Announcements: Marking Scheme: Lab Safety Manual:
SFWR ENG 2DA4 Lab 1 First lab Week of: Sept. 17, 2018 Prep Due week of: (8:40/14:40), Sept. 24, 2018 Demo Due Week of: (11:20/17:20), Sept. 24, 2018 Assignment due in class: 13:40, Sept. 28, 2018 Announcements:
More informationCSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8
CSCB58 - Lab 3 Latches, Flip-flops, and Registers Learning Objectives The purpose of this exercise is to investigate the fundamental synchronous logic elements: latches, flip-flops, and registers. Prelab
More informationCARLETON UNIVERSITY. Laboratory 2.0
CARLETON UNIVERSITY Department of Electronics ELEC 267 Switching Circuits Jan 3, 28 Overview Laboratory 2. A 3-Bit Binary Sign-Extended Adder/Subtracter A binary adder sums two binary numbers for example
More informationExperiment 7 Arithmetic Circuits Design and Implementation
Experiment 7 Arithmetic Circuits Design and Implementation Introduction: Addition is just what you would expect in computers. Digits are added bit by bit from right to left, with carries passed to the
More informationENEE 245 Lab 1 Report Rubrics
ENEE 4 Lab 1 Report Rubrics Design Clearly state the design requirements Derive the minimum SOP Show the circuit implementation. Draw logic diagram and wiring diagram neatly Label all the diagrams/tables
More information14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages
14:332:231 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 2013 Lecture #22: Introduction to Verilog Hardware Description Languages Basic idea: Language constructs
More informationE85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design
E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design Objective The purpose of this lab is to learn to use Field Programmable Gate Array (FPGA) tools to simulate
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 informationDate Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS
Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 09 MULTIPLEXERS OBJECTIVES: To experimentally verify the proper operation of a multiplexer.
More informationEMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 10: Implementing Binary Adders. Name: Date:
EXPERIMENT # 10: Implementing Binary Adders Name: Date: Equipment/Parts Needed: PC (Altera Quartus II V9.1 installed) DE-2 board Objective: Design a half adder by extracting the Boolean equation from a
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 informationLAB 5 Implementing an ALU
Goals To Do Design a practical ALU LAB 5 Implementing an ALU Learn how to extract performance numbers (area and speed) Draw a block level diagram of the MIPS 32-bit ALU, based on the description in the
More informationEE261: Intro to Digital Design
2014 EE261: Intro to Digital Design Project 3: Four Bit Full Adder Abstract: This report serves to teach us, the students, about modeling logic and gives a chance to apply concepts from the course to a
More informationCombinational Verilog Intro. EECS 270 Labs
Combinational Verilog Intro EECS 270 Labs From Schematics to Verilog https://www.engineersgarage.com/articles/field-programmabl e-gate-arrays-fpga https://www.altera.com/content/dam/altera-www/global/en
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 information1. Synopsis: 2. Merging Algorithm:
Microprogram Control Unit Design: Merging Two Arrays 1. Synopsis: The purpose of this lab is to implement a state machine by using a microprogram control unit design. Microprograming allows flexibility
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 informationEGC221: Digital Logic Lab
EGC221: Digital Logic Lab Experiment #7 Arithmetic Logic Unit (ALU) Schematic Implementation Student s Name: Student s Name: Reg. no.: Reg. no.: Semester: Spring 2017 Date: 04 April 2017 Assessment: Assessment
More informationIE1204 Digital Design L7: Combinational circuits, Introduction to VHDL
IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer
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 informationHardware description languages
Specifying digital circuits Schematics (what we ve done so far) Structural description Describe circuit as interconnected elements Build complex circuits using hierarchy Large circuits are unreadable Hardware
More informationUNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999
UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Fall 1999 Lab 7-10: Micro-processor Design: Minimal Instruction Set Processor (MISP) Objective:
More informationFPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]
FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed
More informationEXPERIMENT NUMBER 7 HIERARCHICAL DESIGN OF A FOUR BIT ADDER (EDA-2)
7-1 EXPERIMENT NUMBER 7 HIERARCHICAL DESIGN OF A FOUR BIT ADDER (EDA-2) Purpose The purpose of this exercise is to explore more advanced features of schematic based design. In particular you will go through
More informationEECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline
EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction
More informationMicroprogram Control Unit Design: Merging Two Arrays
Microprogram Control Unit Design: Merging Two Arrays 1. Synopsis: The purpose of this lab is to implement a state machine by using a microprogram control unit design. Microprograming allows flexibility
More informationLab 0: Introduction to the FPGA Development Board
Lab 0: Introduction to the FPGA Development Board University of California, Berkeley Department of Electrical Engineering and Computer Sciences EECS150 Components and Design Techniques for Digital Systems
More informationVeriLogger Tutorial: Basic Verilog Simulation
VeriLogger Tutorial: Basic Verilog Simulation This tutorial demonstrates the basic simulation features of VeriLogger Pro. It teaches you how to create and manage a project and how to build, simulate, and
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 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 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 informationCombinational Logic II
Combinational Logic II Ranga Rodrigo July 26, 2009 1 Binary Adder-Subtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic
More informationPhysics 364, Fall 2014, reading due your answers to by 11pm on Sunday
Physics 364, Fall 2014, reading due 2014-11-23. Email your answers to ashmansk@hep.upenn.edu by 11pm on Sunday Course materials and schedule are at positron.hep.upenn.edu/p364 Assignment: (a) First read
More informationENGIN 112 Intro to Electrical and Computer Engineering
ENGIN 2 Intro to Electrical and Computer Engineering Lecture 8 Minimization with Karnaugh Maps Overview K-maps: an alternate approach to representing oolean functions K-map representation can be used to
More informationCDA 3103 Computer Organization Exam 1 (Sep. 22th, 2014)
CDA 3103 Computer Organization Exam 1 (Sep. 22th, 2014) Name: USF ID: Problem Points Score 1 10 2 10 3 15 4 15 5 10 6 20 otal 80 Exam Rules Use the back of the exam paper as necessary. But indicate clearly
More informationTutorial: ISE 12.2 and the Spartan3e Board v August 2010
Tutorial: ISE 12.2 and the Spartan3e Board v12.2.1 August 2010 This tutorial will show you how to: Use a combination of schematics and Verilog to specify a design Simulate that design Define pin constraints
More informationChapter 4. Combinational Logic
Chapter 4. Combinational Logic Tong In Oh 1 4.1 Introduction Combinational logic: Logic gates Output determined from only the present combination of inputs Specified by a set of Boolean functions Sequential
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 informationA3 A2 A1 A0 Sum4 Sum3 Sum2 Sum1 Sum
LAB #3: ADDERS and COMPARATORS using 3 types of Verilog Modeling LAB OBJECTIVES 1. Practice designing more combinational logic circuits 2. More experience with equations and the use of K-maps and Boolean
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 informationBinary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
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 #3: Designing an ALU Issued Thu 9/4/14; Due Wed 9/10/14 (11:59pm) This lab assignment consists of
More informationExperiment # 5 Debugging via Simulation using epd
1. Synopsis: Experiment # 5 Debugging via Simulation using epd In this lab you will be debugging an arbitrary design. We have introduced different kinds of errors in the design purposefully to demonstrate
More informationECE 241F Digital Systems
ECE 241F Digital Systems Fall 2016 J. Anderson, P. Chow Basic Information Instructors and Lecture Information Section L101 L102 L103 Instructor Jason Anderson Paul Chow Jason Anderson Office EA 314 EA
More informationChapter 3 Part 2 Combinational Logic Design
University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 3 Part 2 Combinational Logic Design Originals by: Charles R. Kime and Tom
More informationDigital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification
Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Ahmed Abu-Hajar, Ph.D. abuhajar@digitavid.net Digitavid, Inc San Jose, CA Session One Outline Introducing VHDL
More informationExp#8: Designing a Programmable Sequence Detector
Exp#8: Designing a Programmable Sequence Detector Objectives Learning how to partition a system into data-path and control unit. Integrating Schematics and Verilog code together Overview In this lab you
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 informationEET2141 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 informationPhysics 364, Fall 2012, reading due your answers to before the end of Wednesday s lab.
Physics 364, Fall 2012, reading due 2012-11-28. Email your answers to ashmansk@hep.upenn.edu before the end of Wednesday s lab. Course materials and schedule are at http://positron.hep.upenn.edu/p364 Assignment:
More informationVerilog Lab. 2 s Complement Add/Sub Unit
Verilog Lab. 2 s Complement Add/Sub Unit TA: Chihhao Chao chihhao@access.ee.ntu.edu.tw Lecture note ver.1 by Chih-hao Chao Lecture Note on Verilog, Course #90132300, EE, NTU, C.H. Chao Introduction In
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 #2: Hierarchical Design & Verilog Practice Issued Wed. 1/14/15; Due Wed. 1/21/15 (11:59pm) This
More informationChap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library
3.1 Combinational Circuits 2 Chap 3. logic circuits for digital systems: combinational vs sequential Combinational Logic Design Combinational Circuit (Chap 3) outputs are determined by the present applied
More information