Design of Digital Circuits Lab 6 Supplement: Testing the ALU

Slides:



Advertisements
Similar presentations
VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Advertisements

Verilog Descriptions of Digital Systems
Lab7: Introduction to Arduino
1 Brief Introduction to Verilog Weiping Shi. 2 What is Verilog? It is a hardware description language Originally designed to model and verify a design.
CS 202 Computer Science II Lab Fall 2009 September 24.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Functions.
Advanced VLSI Design Project Verification Bobby Dixon ELEC
2/9/2007EECS150 Lab Lecture #41 Debugging EECS150 Spring2007 – Lab Lecture #4 Laura Pelton Greg Gibeling.
Adders.
02/10/06EECS150 Lab Lecture #41 Debugging EECS150 Spring 2006 – Lab Lecture #4 Philip Godoy Greg Gibeling.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
ECE 545 Project 1 Part IV Key Scheduling Final Integration List of Deliverables.
General Programming Introduction to Computing Science and Programming I.
IPC144 Introduction to Programming Using C Week 1 – Lesson 2
Chapter 3: Completing the Problem- Solving Process and Getting Started with C++ Introduction to Programming with C++ Fourth Edition.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Systems Development Lifecycle Testing and Documentation.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Assertion Based Testing. Testing and verification Does the design function according to the specifications? Example.
High Speed Digital Systems Lab Asic Test Platform Supervisor: Michael Yampolsky Assaf Mantzur Gal Rotbard Project Midterm Presentation One-Semester Project.
LAB #2 Xilinix ISE Foundation Tools Schematic Capture “A Tutorial”
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
ECE 2372 Modern Digital System Design Section 4.8 Xilinx Schematic Capture Simulation Tutorial.
Introduction to Testing CSIS 1595: Fundamentals of Programming and Problem Solving 1.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 4: Testing, Dataflow Modeling Spring 2009.
Arithmetic Logic Units
EE694v - Verification - Lect Lect 12,13,14 – 762 Testbenches Lets look at the EE 762 testbenches Look at stimulus generation techniques Look at response.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
VHDL From Ch. 5 Hardware Description Languages. History 1980’s Schematics 1990’s Hardware Description Languages –Increased due to the use of Programming.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
DEVRY CIS 170 C I L AB 4 OF 7 F UNCTIONS Check this A+ tutorial guideline at For.
Introduction to the FPGA and Labs
EECE6017C Lab 1 Introduction to Altera tools and Circuit Simulation
Introduction to Computing Science and Programming I
CMPT 120 Topic: Python’s building blocks -> More Statements
5.01 Understand Different Types of Programming Errors
Discussion 2: More to discuss
Digital System Verification
5.01 Understand Different Types of Programming Errors
Digital Engineering Laboratory
SAP transaction RSA3 Enter the Data source Name
Lecture 1.3 Hardware Description Languages (HDLs)
Programming Fundamentals (750113) Ch1. Problem Solving
1. Open Visual Studio 2008.
Process of Debugging a Circuit
Verification & Result Generation.
LAB #2 Xilinix ISE Foundation Tools Schematic Capture “A Tutorial”
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
ECE 554 Digital Engineering Laboratory Nam Sung Kim (Chunhua Yao –TA)
UCSD ECE 111 Prof. Farinaz Koushanfar Fall 2017
Programming Fundamentals (750113) Ch1. Problem Solving
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Programming Fundamentals (750113) Ch1. Problem Solving
Digital Engineering Laboratory
Design of Digital Circuits Lab 5 Supplement: Implementing an ALU
Prof. Onur Mutlu ETH Zurich Spring March 2019
Design of Digital Circuits Lab 1 Supplement: Drawing Basic Circuits
Prof. Onur Mutlu ETH Zurich Spring March 2019
Finite State Machine II
Design of Digital Circuits Lab 8 Supplement: Full System Integration
Design of Digital Circuits Discussion Session 1
Design of Digital Circuits Guidelines on Paper Reviews
(Lecture by Hasan Hassan)
Arithmatic Logic Unit (ALU). ALU Input Data :  A0-A3  B0-B3 Output Data :  F0 – F3.
Presentation transcript:

Design of Digital Circuits Lab 6 Supplement: Testing the ALU Prof. Onur Mutlu ETH Zurich Spring 2019 9 April 2019

What Will We Learn? In lab 6, you learn how to write testbenches in Verilog to verify the functionality of the design. Find and resolve bugs in your design Write a testbench that verifies the correctness of your ALU form Lab 5. Use the same testbench to find and solve bugs in a buggy ALU that we provide.

Preparation You are expected to finish Lab 5 before continuing with this lab, because we will be testing the ALU from lab 5. Download the material for lab 6, which includes: A template/example for a testbench file The template for the test-vectors A Verilog description of an ALU, which contains some bugs

Part 1: Expected Results Before writing our testbench, we need to prepare a set of inputs that we know the expected results for. you will be given a set of inputs for the ALU designed in Lab 5. Determine the correct ‘result’ for each set and enter them to the file ‘testvectors_hex.txt’ that we provide. For output ‘zero’: directly set its expected value within the testbench

Part 2: Preparing the Testbench Create a project with your ALU form lab 5 and the testbench template we provided you with. Make the necessary modifications to the testbench. After this, we will have a testbench that will Apply the vectors in the “testvectors_hex.txt” file Check the actual outputs of our ALU against what we expect.

Part 3: Simulating the ALU Run behavioral simulation using Vivado’s built-in simulator. Errors Display messages

Part 4: Debugging the Problem Using a simulator can help you locate the problems in your circuits. You can not only observe the outputs but the state of all internal variables as well.

Last Words In lab 6, you learn how to write testbenches in Verilog to verify the functionality of the design. Find and resolve bugs in your design Write a testbench that verifies the correctness of your ALU form Lab 5. Use the same testbench to find and solve bugs in a buggy ALU that we provide. In the report, you will design a testbench for your FSM form lab 4.

Design of Digital Circuits Lab 6 Supplement: Testing the ALU Prof. Onur Mutlu ETH Zurich Spring 2019 9 April 2019