Title of Presentation Presenter Matthew J Morley Teaching Functional Verification Workshop DAC 2002, Sunday June 9 th. Testbench Automation Concepts.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

1 System Level Verification of OCP-IP based SoCs using OCP-IP eVC Himanshu Rawal eInfochips, Inc.,4655 Old Ironsides Drive, Suite 385,Santa Clara, CA
Using emulation for RTL performance verification
by Adiel Khan Staff CAE Synopsys
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Specman. Presented By: Yair Miranda. Presentation Topics. Testing micro controllers. The specman tool. Overview. The e Language. XOR example. Application.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
TECH CH03 System Buses Computer Components Computer Function
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
Creating Test Environments HDL Model HDL Testbench Simulation Engine API stimulus check Testbench Program stimulus check Non-HDL languages may be used.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Presented By Chandra Shekar Reddy.Y 11/5/20081Computer Architecture & Design.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
CS-334: Computer Architecture
Chapter 1 Introduction. Computer Architecture selecting and interconnecting hardware components to create computers that meet functional, performance.
Computer Architecture and Organization
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
VERIFICATION OF I2C INTERFACE USING SPECMAN ELITE By H. Mugil Vannan Experts Mr. Rahul Hakhoo, Section Manager, CMG-MCD Mr. Umesh Srivastva, Project Leader.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Workshop - November Toulouse Ronan LUCAS - Magillem Design Services 07/04/2011.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
Computer Architecture and Organization Introduction.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
ECE 456 Computer Architecture
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
Top Level View of Computer Function and Interconnection.
Copyright © 2002 Qualis Design Corporation Industry and Textbook Overview Qualis Design Corporation PO Box 4444 Beaverton, Oregon USA Phone:
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
Digital System Verification. VERIFICATION OUTLINE Purpose of Verification –Verification effort and cost Verification Tools –Linting tools –Code Coverage.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi* Lecture 9 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth *(lecture.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
Verification in IEEE Verilog Verisity’s Donation WORK IN PROGRESS.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Overview von Neumann Architecture Computer component Computer function
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
Teaching Functional Verification – Course Organization Design Automation Conference Sunday, June 9, 2002.
Challenges in Hardware Logic Verification Bruce Wile IBM Server Group Verification Lead 10/25/01.
Progress on Pixel Region Optimization and SystemVerilog Simulation Phase 2 Pixel Electronics Meeting – Progress on Pixel Region Optimization and SystemVerilog.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Verification for Ethernet second/first layer with 10 Gigabit Attachment Interface (XAUI) Matan Kacen Intel, ICG, LAD HW AV June 2005 Dr. Nissim Tsouri.
Digital System Verification
environment infrastructure
Teaching The Art of Verification
Subject Name: Digital Signal Processing Algorithms & Architecture
INTEL
Chapter 5: Computer Systems Organization
Principles of Programming Languages
SystemVerilog and Verification
Presentation transcript:

Title of Presentation Presenter Matthew J Morley Teaching Functional Verification Workshop DAC 2002, Sunday June 9 th. Testbench Automation Concepts

Testbench Automation Concepts DAC 2002 Agenda The University Program Functional Verification at a Glance Key Testbench Concepts –Setting Objectives –Modeling and Data Abstraction –Data Injection and Collection –Self Checking Summary

Testbench Automation Concepts DAC 2002 The University Programme A low key affair since October 1999 – Currently around 15 member universities –Canada, USA, Europe and Asia You Gain: –Access to Verisity’s products and documentation –e Language reference materials –Entry into Verification Vault upon request –On-line use of Verification Advisor We offer limited support for research projects and course development around e and Specman Elite

Testbench Automation Concepts DAC 2002 Verification Vault

Testbench Automation Concepts DAC 2002 Verification Vault

Testbench Automation Concepts DAC 2002 Verification Advisor  An extensive repository of verification lore  Organized into design patterns  HTML based for easy access  Kept in sync with Specman major releases

Testbench Automation Concepts DAC 2002 Verification Advisor Provides expert guidance from the beginning: –What should I do first? What is the right design process? –What kind of data structures and checking schemes do I need for this task? As well as concrete, clearly documented, examples for the most complex activities: –Selecting verification components for data-transfer devices, bus-client devices, and protocols like PCI bus –Building a fully functional eVC from scratch

Testbench Automation Concepts DAC 2002 The Functional Verification Space Verification Process Design Stage Module System Chip Writing Tests Verif. Env Development IP Software SOC Trend

Testbench Automation Concepts DAC 2002 Agenda The University Program Functional Verification at a Glance Key Testbench Concepts –Setting Objectives –Modeling and Data Abstraction –Data Injection and Collection –Self Checking Summary

Testbench Automation Concepts DAC 2002 Functional View Data & Temporal CheckingConstraint-driven Test Generation Design/Interface Specification and Functional Test Plan HDL Simulator HDL (Device Under Test) FunctionalCoverageAnalysis

Testbench Automation Concepts DAC 2002 Process View Coverage Analysis Simulation DUT Test Environment Functional Test Plan Design Spec Tests Environment Development… Verification…

Testbench Automation Concepts DAC 2002 Agenda The University Program Functional Verification at a Glance Key Testbench Concepts –Setting Objectives –Modeling and Data Abstraction –Data Injection and Collection –Self Checking Summary

Testbench Automation Concepts DAC 2002 Setting Objectives What do we want to achieve overall? What information do we have, is it adequate? What features are present, behaviors expected; how do these features interact? What are misbehaviors? How to codify these as individual goals? Require to establish measurable criteria in order to judge how thorough the verification effort has been

Testbench Automation Concepts DAC 2002 Coverage Test that an interrupt is handled during JSR. The instruction decoder received an interrupt signal during a JSR instruction. For each interrupt received record the opcode in the decode register.

Testbench Automation Concepts DAC 2002 Coverage Group extend instr_s { event interrupt;-- Emitted on interrupted cover interrupt is { item opcode using ranges = { range ([ADD..SHFL], “Arithmetic Op”); range ([JMP..JSR], “Branch Op”); };

Testbench Automation Concepts DAC 2002 Modeling Structure & Data Start mush as the designer would, modeling: Overall system architecture Major data flows and functional elements But paying much closer attention to (structure) Peripherals, I/O channels (behavior) BFMs that drive/readout data (data) The data themselves

Testbench Automation Concepts DAC 2002 Data modelling struct frame { kind: [LLC, L2, ETHERNET]; llc: LLCHeader; destAddr: uint (bits:48); srcAddr: uint (bits:48); size: int; }; Upping the level of abstraction somewhat… Physical data and virtual (auxiliary) data both play an important role in the verification environment.

Testbench Automation Concepts DAC 2002 Constraining Data Inputs extend frame { payload: list of byte; keep payload.size() in [0..size]; }; Each frame has a payload of a certain size: extend frame { keep size == 0; }; An individual test may specify a more specific size…

Testbench Automation Concepts DAC 2002 Test Generation So this is what we mean by constrained, random test generation The testbench defines the underlying test infrastructure Individual test files constrain that environment with specific goals in mind The generator creates a whole family of test stimuli given different random seeds

Testbench Automation Concepts DAC 2002 Packing Data Space Test Criteria Random Gen BFM pack() DUT struct frame { kind: [LLC, L2, ETHERNET]; llc: LLCHeader; destAddr: uint (bits:48); srcAddr: uint (bits:48); size: int; payload: list of byte; }; Input Transactor serial_bits = pack(low,current_frame)

Testbench Automation Concepts DAC 2002 Data Checking BFM unpack() DUT Output Transactor ? Our favorite checking scheme involves something like a scoreboard Upon generation/injection compute expected packet header and destination channel Enter packet into scoreboard When packets emerge check them off the SB Dilemma: how to determine that the emerging packet corresponds to that transmitted?

Testbench Automation Concepts DAC 2002 Temporal Checking DUT inputoutput ? => { [..9]; true(‘service’==0); [3]*(not rise(‘service’)

Testbench Automation Concepts DAC 2002 Summary Data generation & stimulus injection Data retrieval & coverage recording Check Data integrity & transformation Check sequential & temporal behavior K --- L - J ---- coverage DB ? checking Log Data Generator Abstract test file DUT inputoutput