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

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

System Integration and Performance
Computer Organization, Bus Structure
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.
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
Advanced VLSI Design Project Verification Bobby Dixon ELEC
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Fundamentals of Simulation-Based Verification 1.Structure of a Testbench - stimulus, checkers, etc. 2.Observation and Assertions - automatic checking of.
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.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Fruitful functions. Return values The built-in functions we have used, such as abs, pow, int, max, and range, have produced results. Calling each of these.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
Database testing Prepared by Saurabh sinha. Database testing mainly focus on: Data integrity test Data integrity test Stored procedures test Stored procedures.
EE694v-Verification-Lect11-1- Lect 35 – Verification Project 2 Design of fault tolerant circuit testing and fault simulation. What needs verified –A SEC/DED.
ECE 545 Project 1 Part IV Key Scheduling Final Integration List of Deliverables.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
EE694v-Verification-Lect10-1- Lect 10 - Stimulus & Response Applying input stimulus to a design Creating clock signals Other waveforms Synchronizing inputs.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
L26 – Datapath ALU implementation
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 3 Structural Modeling and the Generate Statement.
IAY 0600 Digital Systems Design VHDL discussion Verification: Testbenches Alexander Sudnitson Tallinn University of Technology.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
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.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
1/8/ Extra CreditCopyright Joanne DeGroat, ECE, OSU1 PS3xcr Extra Credit Project Modification that can be done to the datapath.
A four function ALU A 00 ADD B MUX SUB 11 Result AND OR
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
L19 – Resolved Signals. Resolved Signals  What are resolved signals In systems In VHDL Resolution – Isn’t that for resolving conflicts?  Ref: text Unit.
Assignment write a short notes on 1.Manufacturing Testing. 2.Functional Testing. 3.Files and Text I/O. 4.Differentiate the cpld and fpga architecture.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
L20 – Register Set. The 430 Register Set  Not exactly a dual ported register set, but a dual drive register set.  Ref: text Unit 10, 17, 20 9/2/2012.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 4: Testing, Dataflow Modeling Spring 2009.
CS4315A. Berrached:CMS:UHD1 Operating Systems and Computer Organization Chapter 4.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 7 Behavioral modeling of a dual ported register set.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
IAY 0600 Digital Systems Design VHDL discussion Verification: Testbenches Alexander Sudnitson Tallinn University of Technology.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
MicroBaby ALU.
EE694v - Verification - Lect 12
Basic Computer Organization and Design
Basic Language Concepts
Lect 11 - Stimulus & Response
Behavioral modeling of a dual ported register set.
Computer Organization “Central” Processing Unit (CPU)
Developing More Advanced Testbenches
Computer Architecture and Design Lecture 6
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
A register design with parallel load input
L9 - Verification Strategies
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
Behavioral modeling of a dual ported register set.
Copyright Joanne DeGroat, ECE, OSU
Structural Modeling and the Generate Statement
Copyright Joanne DeGroat, ECE, OSU
Review: The whole processor
ECE 352 Digital System Fundamentals
Structural Modeling and the Generate Statement
Presentation transcript:

EE694v - Verification - Lect 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 Pr_step1 Testbench – 4 to 1 Mux Number of inputs to design is small – only 6 inputs – input vector space is 2 6 = 64 Exhaustive testing used as only 64 testcases Output is checked via visual inspection of the waveform 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

The waveform EE694v - Verification - Lect 12-3-

EE694v - Verification - Lect 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

EE694v - Verification - Lect Pr_step3 – 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.

EE694v - Verification - Lect Pr_step4 – 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 Pr_step7 – 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.

EE694v - Verification - Lect 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 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.

EE694v - Verification - Lect 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.