EE694v - Verification - Lect 12

Slides:



Advertisements
Similar presentations
Adding the Jump Instruction
Advertisements

Give qualifications of instructors: DAP
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
1/8/ L23 Project Step 9 - Sequential Machine Copyright Joanne DeGroat, ECE, OSU1 Project Step 9 Beyond the ALU and Datapath. Sequential Machine.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
EE694v-Verification-Lect6-1- Lecture 6 - Writing Tests A difference if treating the design as a black box or if you have access to internal signals EE762.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
EE694v - Verification - Lect Lect 12,13,14 – 762 Testbenches Lets look at the EE 762 testbenches Look at stimulus generation techniques Look at response.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 7 Behavioral modeling of a dual ported register set.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
MicroBaby ALU.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Computer Organization
Basic Computer Organization and Design
Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)
Basic Language Concepts
Topics Modeling with hardware description languages (HDLs).
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Digital System Verification
Lect 11 - Stimulus & Response
Chap 7. Register Transfers and Datapaths
Assembly Language for Intel-Based Computers, 5th Edition
Morgan Kaufmann Publishers
Software engineering – 1
FPGA Implementation of Multicore AES 128/192/256
Behavioral modeling of a dual ported register set.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Processor (I).
Design of the Control Unit for Single-Cycle Instruction Execution
Topics Modeling with hardware description languages (HDLs).
Computer Science 210 Computer Organization
Computer Organization “Central” Processing Unit (CPU)
CSCE Fall 2013 Prof. Jennifer L. Welch.
Computer Architecture
Developing More Advanced Testbenches
Computer Architecture and Design Lecture 6
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
MicroBaby Datapath.
Copyright Joanne DeGroat, ECE, OSU
L25 – Datapath ALU.
MicroBaby Datapath.
Verification Plan & Levels of Verification
Copyright Joanne DeGroat, ECE, OSU
Lect 11 - Stimulus & Response
22 October 3 classes before 2nd exam! Control 1/16/2019
A register design with parallel load input
Tri-state buffer A circuit which allows an input to go to output when desired Otherwise it behaves as if “nothing” is connected to the wire An equivalent.
L9 - Verification Strategies
CSCE Fall 2012 Prof. Jennifer L. Welch.
A Discussion on Assemblers
Overview Last lecture Digital hardware systems Today
Lecture 9: Testbench and Division
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
ECE 352 Digital System Fundamentals
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
Behavioral modeling of a dual ported register set.
ECE 352 Digital System Fundamentals
Copyright Joanne DeGroat, ECE, OSU
Review: The whole processor
ECE 352 Digital System Fundamentals
Chapter 13: I/O Systems.
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
Presentation transcript:

EE694v - Verification - Lect 12 Lect 12,13,14 – 762 Testbenches Lets look at the EE 762 testbenches Look at stimulus generation techniques Look at response monitoring techniques EE694v - Verification - Lect 12

Pr_step1 Testbench – 4 to 1 Mux Number of inputs to design is small – only 6 inputs – input vector space is 26 = 64 Exhaustive testing used as only 64 testcases Output is checked via visual inspection of the waveform Total effort ~= effort for automation of check Design under verification is considered a “black box” – must verify from the inputs and monitor only the outputs NOTE: Still use additional indications/labels in testbench to make visual verification easier EE694v - Verification - Lect 12

EE694v - Verification - Lect 12 The waveform EE694v - Verification - Lect 12

Pr_step2 Testbench The ALU Slice Exhaustive testing is no longer a possibility. Number of inputs has grown to 15. Would need 32,768 inputs, some of which wouldn’t make sense. Choose 22 operations that the ALU slice is capable of computing and verify them for 4 inputs. 2 operations are verified for 8 inputs. Total - 96 Results are still checked visually Still ~= effort for automated checking EE694v - Verification - Lect 12

Pr_step – 8 Bit ALU Automatic Checking of Results Once you get to an 8 bit result can no longer do a visual verification of results. Number of inputs has grown to 29. Exhaustive testing would take ~539 million inputs!!! Number of input applied for testing is now 168 A separate process now monitors the outputs Expected outputs are listed in an array in the testbench. – Note the task to maintain this style of output checking. Not practical for more design efforts. EE694v - Verification - Lect 12

Pr_step – Behavioral ALU Description Using behavioral VHDL code to do description of the ALU Array of expected outputs now contain comments as to which test it represents Operation being tested and test number used to get expected result out of table – Test can be easily sequenced in a different order. Pr_step5 – testbench structure is the same – advancement to use of procedures in processes Pr_step6 – testbench structure is the same – advancement to the use of packages EE694v - Verification - Lect 12

Pr_step – Using Busses The Datapath Register Set This step advances to the use of busses for the transfer of data. There are now multiple drivers for the bus signals Procedure in testbench both applies values and checks results Bus is checked when it transitions from high-impedance (z) to the value, the value is held on the bus and then the bus returns to a value of z. Bus requires continual monitoring. EE694v - Verification - Lect 12

Pr_step8 – The Complete Datapath Need a testing plan as to what needs tested and how it will be tested. Initialize control signals (14 signals) Load initial values into registers and make sure they were loaded correctly, i.e., dump registers. Also assures that busses are working at least in part. Do basic operations using ALU(17 operations). Only the connectivity of the ALU needs verified not its full functionality. Final dump of registers EE694v - Verification - Lect 12

EE694v - Verification - Lect 12 Pr_step8 (cont) Procedures written to call bus cycle procedure for both one and two register operand operations Another procedure is used to run the bus cycle and do the results checking. Registers and functional aspects of ALU are assumed to be working for this testbench. Correct integration is checked for. Review the code. EE694v - Verification - Lect 12

Formatting Listing and Waveform A .do file is generated that provides a uniformity to the generation of the listing file and also to the waveform. A good idea is to develop such practices in your work, i.e., a format that makes it easier for you to locate that an error was found should be adopted. EE694v - Verification - Lect 12

Testing a sequential machine Free running clock of a given duty cycle May need to be checked in an industrial setting. Mixed mode system Discrete modeling of analog components EE694v - Verification - Lect 12

EE694v - Verification - Lect 12 Floating point tests Testing of Floating point execution unit. Hugh test space. Very large number of tests. Easiest A file of test inputs and expected results Each test is a “transaction” DUT responds to transaction Have reviewed textio EE694v - Verification - Lect 12