Lab 2 Implementing Combinational Logic in VHDL. Advanced Testbenches.

Size: px
Start display at page:

Download "Lab 2 Implementing Combinational Logic in VHDL. Advanced Testbenches."

Transcription

1 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 B: 8-bit signed integer Sel: 2-bit selection signal En: 1 bit enable input (active low) Outputs: X: 8 bit integer (treated as signed or unsigned Y: 8 bit integer (treated as signed or unsigned Intermediate Variables: Unsigned 16-bit integers: L Signed 16-bit integers: K Unsigned 8-bit integers: C, D, F, N Unsigned 4-bit integers: G, J Unsigned 2-bit integers: H Unsigned 1-bit integers: I Signed 8-bit integers: E, M 8-bit integers: Xp, Yp (treated as signed or unsigned Algorithm: C = A <<< 4 /* rotation left by 4 */ D = A/2 E = B/2 if A/16 is prime then F = A/16 elsif A is binary palindromic then F = A elsif E is negative then F = C F = E Endif G = F/16

2 If G >= 8 then H = 3 elsif G >= 4 then H = 2 elsif G >=2 then H = 1 H = 0. if G = 0 then I = 0 I = 1 end if if I = 0 then J = 0 elsif H = 3 J = 8 elsif H = 2 J = 4 elsif H = 1 J = 2 J = 1 K = D * E /* signed multiplication */ L = D * E /* unsigned multiplication by an absolute value of E */ M = D + E N = D + E /* addition of an absolute value of E */ if Sel = 0 then Xp = F elsif Sel = 1 then Xp = K/256 elsif Sel = 2 Xp = L/256 if Sel = 3 Xp = M if Sel = 0 then Yp = G J /* G concatenated with J */ elsif Sel = 1 then Yp = K mod 256 elsif Sel = 2 Yp = L mod 256 if Sel = 3

3 Yp = N if En = 0 then X = Xp Y = Yp X = "ZZZZZZZZ" Y = "ZZZZZZZZ" Endif Requirements: 1. You are allowed to use only standard components discussed in Lecture 3: Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic. 2. You are not allowed to use a divisor circuit / implementing division for an arbitrary value of a divisor. All divisions by powers of two should be implemented using appropriate logic or arithmetic shifts. 3. You are not allowed to use mod operator. Replace it by an appropriate split. 4. You are not allowed to use an operator computing an absolute value of the integer X, X. 5. Clearly mark the widths and directions of all buses in your circuit. 6. You can use connections by name, especially if drawing wires would reduce the readability of your diagram. 7. Your diagram can be drawn by hand and scanned (for regular points). You can also use a graphical editor, such as Xfig, Visio, Dia, Power Point, etc. in order to develop an electronic diagram (for bonus points). In case you use a graphical editor, please submit an editable version and a pdf version of your diagram. 8. You can use at most two levels of hierarchy. 9. In case of using ROM, clearly specify the number of address and data bits. In a separate diagram, please show the memory map (the contents) of your ROM. Hints: 1. The entire if operation in the pseudocode (or even two related if operations) may represent a single basic logic component, known to you. 2. Different if operations may represent different combinational components (or different groups of components).

4 Task 2 (30%) Develop a VHDL dataflow description of a combinational circuit described by the pseudocode from Task 1. You description should use only one level of hierarchy (one entity and one architecture), for all components other than is_prime and is_binary_palindromic, which may be implemented using separate entities. Task 3 (20%) Develop an advanced testbench for your VHDL code from Task 2, based on an array of records representing multiple test vectors, to be used to verify the operation of your circuit. Your testbench should give a binary result: circuit correct or circuit incorrect. In case the circuit is incorrect, the first 5 discrepancies between actual and expected outputs should be printed, together with the values of corresponding inputs. Use the array of records provided on the web page of Lab 2, generated by the C program available on the same page. Use this testbench to debug your circuit, and document your findings. Print an output from simulation (in the form of timing waveforms and console messages) to the PDF file. Please note that you can modify C program, and generate test vectors for intermediate results, if needed. Task 4 (20%) Modify your testbench from Task 3, in such a way that the test vectors are stored in a text file. Use the text file provided on the web page of Lab 2, generated by the C program available on the same page. Use this testbench to debug your circuit, and document your findings. Print an output from simulation (in the form of timing waveforms and console messages) to the PDF file. Task 5 (tested during demonstration, may affect up to 50% of your points) Be prepared to demonstrate the operation of your code using Aldec Active-HDL and Xilinx ISim. You may be tested on your level of understanding of both simulators, based on the following features. 1. Adding signals to the Waveform window. 2. Including signals from lower levels of hierarchy.

5 3. All options to run Simulation. 4. Introduce Breakpoints and showing the execution of logic before and after Breakpoints in the Waveform window. 5. Measuring Time intervals. 6. Dealing with Buses (Expanding and viewing all bits of a signal). 7. Taking a signal and changing Radix to Decimal, Binary and Hexadecimal. 8. Saving the waveforms in Native format of the simulators. 9. Printing output of the simulators to PDF files. 10. Clearing waveforms. In your report, please describe any problems you have encountered while using Aldec Active-HDL and Xilinx ISim. Please grade each simulator on the scale from 0 to 10, based on your experiences with using it. Shortly justify your rating. Bonus task (bonus 20%) Modify your block diagram and your VHDL code, by adding output Z calculated as follows: Z = Xp <<< Yp. Show an internal structure of the combinational variable rotator using block diagram. Implement your circuit using dataflow VHDL. Extend your two testbenches, and use them to debug your code. Deliverables: 1. Block diagram handdrawn and scanned for regular points; electronic version (editable and PDF) for 5 extra points. 2. Dataflow VHDL code for Tasks 2, and possibly Bonus Task. 3. Behavioral VHDL codes of testbenches for Tasks 3, 4, and possibly Bonus Task. 4. Short report describing the status of your code, including the statement which portions of the pseudocode you have been able to implement and verify successfully. Please describe any problems you have encountered while coding in VHDL or using Active-HDL and ISim. Please grade each simulator on the scale from 0 to 10, based on your experiences with using it. Shortly justify your rating. Important Dates Hands-on Session and Introduction to the Experiment Demonstration and Deliverables Due Wednesday Section Thursday Section 01/30/ /31/ /06/ /07/2013

Lab Assignment 2. Implementing Combinational and Sequential Logic in VHDL

Lab 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 information

Lab Assignment 1. Developing and Using Testbenches

Lab 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 information

ECE 545 Fall 2013 Final Exam

ECE 545 Fall 2013 Final Exam ECE 545 Fall 2013 Final Exam Problem 1 Develop an ASM chart for the circuit EXAM from your Midterm Exam, described below using its A. pseudocode B. table of input/output ports C. block diagram D. interface

More information

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

Lab 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 information

Midterm Exam ECE 448 Spring 2019 Wednesday, March 6 15 points

Midterm Exam ECE 448 Spring 2019 Wednesday, March 6 15 points Midterm Exam ECE 448 Spring 2019 Wednesday, March 6 15 points Instructions: Zip all your deliverables into an archive .zip and submit it through Blackboard no later than Wednesday, March 6,

More information

Lab 3 Finite State Machines Movie Ticket Dispensing Machine

Lab 3 Finite State Machines Movie Ticket Dispensing Machine Lab 3 Finite State Machines Movie Ticket Dispensing Machine Design, implement, verify, and test a Movie Ticket Dispensing Machine based on the following specification: The machine should allow the choice

More information

EE 101 Homework 4 Redekopp Name: Due: See Blackboard

EE 101 Homework 4 Redekopp Name: Due: See Blackboard EE 101 Homework 4 Redekopp Name: Due: See Blackboard Score: In this homework we will use Xilinx to complete the indicated designs. Using Xilinx to perform this homework. Please download the Xilinx EE 101

More information

Advanced Computer Architecture-CS501

Advanced Computer Architecture-CS501 Advanced Computer Architecture Lecture No. 34 Reading Material Vincent P. Heuring & Harry F. Jordan Chapter 6 Computer Systems Design and Architecture 6.1, 6.2 Summary Introduction to ALSU Radix Conversion

More information

EITF35 - Introduction to Structured VLSI Design (Fall ) 7. Assignment 3 - Arithmetic Logic Unit (ALU)

EITF35 - 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 information

Verilog Lab. Two s Complement Add/Sub Unit. TA: Xin-Yu Shi

Verilog 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 information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

ECE 545 Fall 2014 Midterm Exam

ECE 545 Fall 2014 Midterm Exam ECE 545 Fall 2014 Midterm Exam Problem 1 [10 points] Draw a block diagram of a simple microprocessor system, composed of A. Microprocessor, with the bidirectional input/output DATA (8-bits), and outputs

More information

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)

OUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1) September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench

More information

Numbering Systems. Number Representations Part 1

Numbering 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 information

Verilog Lab. 2 s Complement Add/Sub Unit

Verilog 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 information

Midterm Exam ECE 448 Spring 2014 Monday, March 3 (15 points)

Midterm Exam ECE 448 Spring 2014 Monday, March 3 (15 points) ECE8 Midterm Midterm Exam ECE 8 Spring 2 Monday, March 3 (5 points) Instructions: Zip all your delierables into an archie .zip and submit it through lackboard no later than Monday, March 3,

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The 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 information

T02 Tutorial Slides for Week 2

T02 Tutorial Slides for Week 2 T02 Tutorial Slides for Week 2 ENEL 353: Digital Circuits Fall 2017 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary 19 September, 2017

More information

Lecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity

Lecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity Required reading Lecture 4 VHDL Fundamentals P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL George Mason University 2 Example: NAND Gate Design Entity a b z a b z 0

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION

More information

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level

More information

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level

More information

Exercise Sheet 3 (10 Points)

Exercise 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 information

XPLANATION: FPGA 101. The Basics of. by Adam Taylor Principal Engineer EADS Astrium FPGA Mathematics

XPLANATION: FPGA 101. The Basics of. by Adam Taylor Principal Engineer EADS Astrium FPGA Mathematics The Basics of by Adam Taylor Principal Engineer EADS Astrium aptaylor@theiet.org FPGA Mathematics 44 Xcell Journal Third Quarter 2012 One of the main advantages of the FPGA is its ability to perform mathematical

More information

Lecture 4. VHDL Fundamentals. George Mason University

Lecture 4. VHDL Fundamentals. George Mason University Lecture 4 VHDL Fundamentals George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL 2 Design Entity ECE 448 FPGA and ASIC Design with

More information

Lecture 8. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Lecture 8. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram Lecture 8 RTL Design Methodology Transition from Pseudocode & Interface to a Corresponding Block Diagram Structure of a Typical Digital Data Inputs Datapath (Execution Unit) Data Outputs System Control

More information

ENGR 5865 DIGITAL SYSTEMS

ENGR 5865 DIGITAL SYSTEMS ENGR 5865 DIGITAL SYSTEMS ModelSim Tutorial Manual January 22, 2007 Introduction ModelSim is a CAD tool widely used in the industry for hardware design. This document describes how to edit/add, compile

More information

Lab 6 Using PicoBlaze. Fast Sorting.

Lab 6 Using PicoBlaze. Fast Sorting. Lab 6 Using PicoBlaze. Fast Sorting. Design, implement, and verify experimentally a circuit shown in the block diagram below, composed of the following major components: PicoBlaze-6 microcontroller with

More information

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

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

More information

CSE/ESE 260M Introduction to Digital Logic and Computer Design. Lab 3 Supplement

CSE/ESE 260M Introduction to Digital Logic and Computer Design. Lab 3 Supplement 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

More information

CHAPTER V NUMBER SYSTEMS AND ARITHMETIC

CHAPTER V NUMBER SYSTEMS AND ARITHMETIC CHAPTER V-1 CHAPTER V CHAPTER V NUMBER SYSTEMS AND ARITHMETIC CHAPTER V-2 NUMBER SYSTEMS RADIX-R REPRESENTATION Decimal number expansion 73625 10 = ( 7 10 4 ) + ( 3 10 3 ) + ( 6 10 2 ) + ( 2 10 1 ) +(

More information

Numbering systems. Dr Abu Arqoub

Numbering systems. Dr Abu Arqoub Numbering systems The decimal numbering system is widely used, because the people Accustomed (معتاد) to use the hand fingers in their counting. But with the development of the computer science another

More information

Laboratory Exercise #6 Introduction to Logic Simulation and Verilog

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

More information

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition Table of Contents 1. Introduction to Digital Logic 1 1.1 Background 1 1.2 Digital Logic 5 1.3 Verilog 8 2. Basic Logic Gates 9

More information

EECE.2160: ECE Application Programming

EECE.2160: ECE Application Programming Spring 2018 Programming Assignment #10: Instruction Decoding and File I/O Due Wednesday, 5/9/18, 11:59:59 PM (Extra credit ( 4 pts on final average), no late submissions or resubmissions) 1. Introduction

More information

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

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

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 This lab exercise will show you how to create, synthesize, and test a 3-bit ripple counter. A ripple counter is simply a circuit that outputs the

More information

Lab 3 Finite State Machines Automated Teller Machine

Lab 3 Finite State Machines Automated Teller Machine Lab 3 Finite State Machines Automated Teller Machine Design, implement, verify, and test an Automated Teller Machine based on the following specification: The teller machine should provide the following

More information

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University ECE 545 Lecture 5 Data Flow Modeling in VHDL George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 4, Concurrent Signal Assignment Statements of VHDL 2 Types of VHDL Description

More information

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C

More information

Lecture 2: Number Systems

Lecture 2: Number Systems Lecture 2: Number Systems Syed M. Mahmud, Ph.D ECE Department Wayne State University Original Source: Prof. Russell Tessier of University of Massachusetts Aby George of Wayne State University Contents

More information

Binary Representations and Arithmetic

Binary Representations and Arithmetic Binary Representations and Arithmetic 9--26 Common number systems. Base : decimal Base 2: binary Base 6: hexadecimal (memory addresses) Base 8: octal (obsolete computer systems) Base 64 (email attachments,

More information

How to use the IP generator from Xilinx to instantiate IP cores

How 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 information

EITF35 - Introduction to Structured VLSI Design (Fall 2017) Course projects

EITF35 - Introduction to Structured VLSI Design (Fall 2017) Course projects 1 EITF35 - Introduction to Structured VLSI Design (Fall 2017) Course projects v.1.0.0 1 Introduction This document describes the course projects provided in EITF35 Introduction to Structured VLSI Design

More information

Lab 03 - x86-64: atoi

Lab 03 - x86-64: atoi CSCI0330 Intro Computer Systems Doeppner Lab 03 - x86-64: atoi Due: October 1, 2017 at 4pm 1 Introduction 1 2 Assignment 1 2.1 Algorithm 2 3 Assembling and Testing 3 3.1 A Text Editor, Makefile, and gdb

More information

VHDL for Complex Designs

VHDL for Complex Designs ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 VHDL for Complex Designs This lecture covers VHDL features that are useful when designing complex logic circuits. After

More information

Lab 5. Using Fpro SoC with Hardware Accelerators Fast Sorting

Lab 5. Using Fpro SoC with Hardware Accelerators Fast Sorting Lab 5 Using Fpro SoC with Hardware Accelerators Fast Sorting Design, implement, and verify experimentally a circuit shown in the block diagram below, composed of the following major components: FPro SoC

More information

ENSC 350 ModelSim Altera Tutorial

ENSC 350 ModelSim Altera Tutorial ENSC 350 ModelSim Altera Tutorial This is a quick guide get you started with the ModelSim Altera simulator. ModelSim is only a functional verification tool so you will also have to use Quartus II to complete

More information

CARLETON UNIVERSITY. Laboratory 2.0

CARLETON 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 information

INF2270 Spring Philipp Häfliger. Lecture 4: Signed Binaries and Arithmetic

INF2270 Spring Philipp Häfliger. Lecture 4: Signed Binaries and Arithmetic INF2270 Spring 2010 Philipp Häfliger Lecture 4: Signed Binaries and Arithmetic content Karnaugh maps revisited Binary Addition Signed Binary Numbers Binary Subtraction Arithmetic Right-Shift and Bit Number

More information

Hardware description languages

Hardware 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 information

Tutorial: Pattern Wizard

Tutorial: Pattern Wizard University of Pennsylvania Department of Electrical and Systems Engineering Digital Design Laboratory Tutorial: Pattern Wizard When assigning values to a bus in Xilinx during the behavioral simulation,

More information

CDA 3103 Computer Organization Exam 1 (Sep. 22th, 2014)

CDA 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 information

In our case Dr. Johnson is setting the best practices

In our case Dr. Johnson is setting the best practices VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry

More information

LAB 9 The Performance of MIPS

LAB 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 information

ELEC 4200 Lab#0 Tutorial

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

More information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware

More information

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II

ANADOLU 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 information

Chapter 2. Positional number systems. 2.1 Signed number representations Signed magnitude

Chapter 2. Positional number systems. 2.1 Signed number representations Signed magnitude Chapter 2 Positional number systems A positional number system represents numeric values as sequences of one or more digits. Each digit in the representation is weighted according to its position in the

More information

Tutorial on Simulation using Aldec Active-HDL Ver 1.0

Tutorial 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 information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The 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 Spring 2018 Lab #2A: Hierarchical Design & Verilog Practice Issued Wed 1/17/18; Due Wed 1/24/18

More information

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University ECE 545 Lecture 8 Data Flow Description of Combinational-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 7, Combinational Circuit Design:

More information

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents VHDL Testbench Tutorial 1 Contents 1 VHDL Testbench 2 Test Bench Syntax 3 Testbench Example: VHDL Code for Up Down Binary Counter 4 VHDL Testbench code for up down binary counter 5 Testbench Waveform for

More information

Lecture 25: Other Number Systems

Lecture 25: Other Number Systems Lecture 25: Other Number Systems Today s Goals Learn about Gray Codes Use scaled binary numbers Learn the IEEE floating point number format Gray Codes Rotational Position Encoded with Standard Binary Gray

More information

Verilog Module 1 Introduction and Combinational Logic

Verilog Module 1 Introduction and Combinational Logic Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog

More information

ECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012

ECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012 Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate

More information

CMPE223/CMSE222 Digital Logic Design. Positional representation

CMPE223/CMSE222 Digital Logic Design. Positional representation CMPE223/CMSE222 Digital Logic Design Number Representation and Arithmetic Circuits: Number Representation and Unsigned Addition Positional representation First consider integers Begin with positive only

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary

More information

Don t expect to be able to write and debug your code during the lab session.

Don t expect to be able to write and debug your code during the lab session. EECS150 Spring 2002 Lab 4 Verilog Simulation Mapping UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping

More information

Tutorial: Working with the Xilinx tools 14.4

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

More information

EE432 Advanced Digital Design with HDL Term Project

EE432 Advanced Digital Design with HDL Term Project EE432 Advanced Digital Design with HDL Term Project Spring 2013 Instructor Tom Almy I (the instructor) am always looking for ways to make the courses interesting, exciting, and educational. I've found

More information

EE 101 Lab 5 Fast Adders

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

More information

Elec 326: Digital Logic Design

Elec 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 information

Lab 5 Mandelbrot Fractal Viewer

Lab 5 Mandelbrot Fractal Viewer Lab 5 Mandelbrot Fractal Viewer Your task is to design a digital circuit to plot a Mandelbrot Set Fractal over VGA display. Your circuit must generate all control and data signals driving the VGA output

More information

CS 202: Introduction to Computation Fall 2010: Exam #1

CS 202: Introduction to Computation Fall 2010: Exam #1 CS 22: Introduction to Computation Fall 2: Exam # Name: Answers Question Possible Points Received Points 2 2 2 3 2 4 2 5 2 Total This exam is closed notes. You have 5 minutes to complete the 5 questions

More information

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

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

More information

Lab #1. Topics. 3. Introduction to Verilog 2/8/ Programmable logic. 2. Design Flow. 3. Verilog --- A Hardware Description Language

Lab #1. Topics. 3. Introduction to Verilog 2/8/ Programmable logic. 2. Design Flow. 3. Verilog --- A Hardware Description Language Lab #1 Lecture 8, 9, &10: FPGA Dataflow and Verilog Modeling February 9, 11, 13, 2015 Prof R Iris Bahar Lab #1 is posted on the webpage wwwbrownedu/departments/engineering/courses/engn1640 Note for problem

More information

COMPUTER ARITHMETIC (Part 1)

COMPUTER ARITHMETIC (Part 1) Eastern Mediterranean University School of Computing and Technology ITEC255 Computer Organization & Architecture COMPUTER ARITHMETIC (Part 1) Introduction The two principal concerns for computer arithmetic

More information

LAB 9 The Performance of MIPS

LAB 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 information

This Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)

This 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 information

Lab 3 Verilog Simulation Mapping

Lab 3 Verilog Simulation Mapping University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences 1. Motivation Lab 3 Verilog Simulation Mapping In this lab you will learn how to use

More information

Programming Using C Homework 4

Programming Using C Homework 4 Programming Using C Homewk 4 1. In Homewk 3 you computed the histogram of an array, in which each entry represents one value of the array. We can generalize the histogram so that each entry, called a bin,

More information

Lab 4 A mini computer system design. Instructor: C.-K. Cheng November 23, 2005

Lab 4 A mini computer system design. Instructor: C.-K. Cheng November 23, 2005 Lab 4 A mini computer system design Instructor: C.-K. Cheng November 23, 2005 Agenda Administrative Due on 12/02 before discussion session 5% bonus on lab 4 if you submit on next Wednesday Today A more

More information

VHDL 3 BASIC OPERATORS AND ARCHITECTURE BODY. Design descriptions & design constructions examples are taken from foundation series examples

VHDL 3 BASIC OPERATORS AND ARCHITECTURE BODY. Design descriptions & design constructions examples are taken from foundation series examples 1 VHDL 3 BASIC OPERATORS AND ARCHITECTURE BODY Design descriptions & design constructions examples are taken from foundation series examples 2 What we have done in Lab 1 entity AND_Gate is port ( a : in

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The 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 #3: Designing an ALU Issued Wed 1/21/15; Due Wed 1/28/15 (11:59pm) This lab assignment consists

More information

15213 Recitation 2: Floating Point

15213 Recitation 2: Floating Point 15213 Recitation 2: Floating Point 1 Introduction This handout will introduce and test your knowledge of the floating point representation of real numbers, as defined by the IEEE standard. This information

More information

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

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

More information

Intro to System Generator. Objectives. After completing this module, you will be able to:

Intro to System Generator. Objectives. After completing this module, you will be able to: Intro to System Generator This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Explain why there is a need for an integrated

More information

HW1 Modeling Concepts

HW1 Modeling Concepts HW1 Modeling Concepts Verilog HDL modeling language supports three kinds of modeling styles: gate-level, dataflow, and behavioral. The gate-level and datafow modeling are used to model combinatorial circuits

More information

ENEL Digital Circuits Midterm Examination

ENEL Digital Circuits Midterm Examination Name: Lecture Section: L0 N. artley :-:50 L02 S. Norman, 2:-2:50 ENEL 353 - igital ircuits Midterm Examination Wednesday, October 30, 203 Instructions: Time allowed is 90 minutes. In order to minimize

More information

VLSI DESIGN (ELECTIVE-I) Question Bank Unit I

VLSI DESIGN (ELECTIVE-I) Question Bank Unit I VLSI DESIGN (ELECTIVE-I) Question Bank Unit I B.E (E&C) NOV-DEC 2008 1) If A & B are two unsigned variables, with A = 1100 and B = 1001, find the values of following expressions. i. (A and B) ii. (A ^

More information

Chapter 2: Number Systems

Chapter 2: Number Systems Chapter 2: Number Systems Logic circuits are used to generate and transmit 1s and 0s to compute and convey information. This two-valued number system is called binary. As presented earlier, there are many

More information

Vivado Walkthrough ECGR Fall 2015

Vivado Walkthrough ECGR Fall 2015 ECGR 2181 - Vivado Walkthrough 1 Vivado Walkthrough ECGR 2181 - Fall 2015 Intro In this walkthrough we re going to go through the process of creating a project, adding sources, writing vhdl, simulating

More information

ECE2049: Homework 1. Due: Thursday, 25 May 2017 by 7pm

ECE2049: Homework 1. Due: Thursday, 25 May 2017 by 7pm Due: Thursday, 25 May 2017 by 7pm Submission notes: For full credit, please show your work and denote your answers with a circle or a box. Always write and draw your diagrams neatly! We cannot be expected

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The 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 information

Contents. Appendix D VHDL Summary Page 1 of 23

Contents. Appendix D VHDL Summary Page 1 of 23 Appendix D VHDL Summary Page 1 of 23 Contents Appendix D VHDL Summary...2 D.1 Basic Language Elements...2 D.1.1 Comments...2 D.1.2 Identifiers...2 D.1.3 Data Objects...2 D.1.4 Data Types...2 D.1.5 Data

More information

Digital Electronics & Computer Engineering (E85)

Digital Electronics & Computer Engineering (E85) Digital Electronics & Computer Engineering (E85) Lab 5: 32-bit ALU Introduction In this lab, you will build the 32-bit Arithmetic Logic Unit (ALU) that is described in your book in Section 4.5. Your ALU

More information

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

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

More information

ECE 545 Fall 2010 Exam 1

ECE 545 Fall 2010 Exam 1 ECE 545 Fall 2010 Exam 1 Introduction & tasks: The SHA-1 (Secure Hash Algorithm-1) circuit is specified below using its a. pseudocode b. block diagram of one of its units called Message Scheduler c. top-level

More information

MAT 243 Test 2 SOLUTIONS, FORM A

MAT 243 Test 2 SOLUTIONS, FORM A MAT 243 Test 2 SOLUTIONS, FORM A 1. [15 points] Calculate the following quantities: a. 17 mod 4 Solution: 17 17 4 = 17 4 4 = 1. 4 b. 17 div 4 17 Solution: = 4. 4 c. (( 1) mod 12) mod (27 div 5) Solution:

More information