Lafauci dv club oct 2006
Upcoming SlideShare
Loading in...5

Lafauci dv club oct 2006






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Lafauci dv club oct 2006 Lafauci dv club oct 2006 Presentation Transcript

  • Welcome to RTP DVClub! Topics in Verification Pete LaFauci October 18, 2006
  • Agenda Brief Discussion/Overview about “the Club” Historical Perspective of Languages & Simulators Topics in Verification Reuse Coverage Regression Engineering Planning Qualification Summary
  • DVClub Overview Voluntary, Community Based Verification Group Discuss Present Day Challenges EDA neutral Presentation of “sharable” ideas, experiences, and results Advisory Board Currently about 10 members, spanning 6 companies (looking for additional participants) Planning, Logistics, Speakers, Topics Topics should be Chip Verification related, but can span adjacent areas: Design for Verification, IT, Project Management Please Contact Pete LaFauci or Justin Sprague regarding interest in the Advisory Board or Presenting at DVClub!
  • Historical Perspective: What’s done Produce some test vector stimulus, and simulate Look at the output and waveforms on workstation, debug the rest in the lab Then Produce a test plan and lots of directed, procedural test cases Run each test case in the test bucket Completion: each individual test case passes Produce a verification plan, which includes model requirements, functions & coverage goals Combine generation capabilities, checkers, randomness, and coverage monitors to gauge the simulations Run tests with multiple “seeds” Completion: all tests pass, and coverage output is “analyzed” Produce a verification methodology, “architect” a verification environment & plan, and leverage powerful tools Automate both efficiency and thoroughness, through prediction, steering, and proofs VIP, Environment, Library, and Test “Reuse” Now “Rank” the test suite efficiency, directed tests for coverage closure Completion: all tests pass, coverage goals are met using measurable metrics
  • Historical Prevalence: Verification Languages HVDL – SystemVerilog RTL/HVL Integration/Unification Today / Tomorrow / Future? SystemC & TLM Interfaces Assertion Based Verification HVL – ‘e’ & Vera DPI Constraint Solvers Modeling – SystemC Late ’90s – Easy RTL Access Higher Abstraction, TLM, HW/SW Early 00’s Functional Coverage Algorithmic Modeling & Prototype Built-in libraries C, C++. Perl VHDL Complex Data Structs Mid ’90s Records / Dynamic Superior String Functions Variable Indices & Slicing 2-d ports Verilog Concurrency Early ’90s Tasks & Functions PLI
  • Reuse
  • Reuse: Going Beyond Traditional VIP “Components”: traditional VIP Common bus and data protocols Monitors, Predictors, Drivers “instance & program” Environments: new(er) with OOP/HVL Testbenches & “Harnesses” Constraints & Test Cases Configuration Components Addresses Scalability “inherit, derive, build, configure”
  • Reuse: Inheritance and Abstraction Application User Test Case & Constraints Specific Environment Test Methods and User Interfaces Verification Test Benches/Harnesses Protocol VIP Environment Interface VIP DUT VIP Inheritance And Instantiations Harness Interface & Protocol Globals templates Company Scoreboard Test Harness DUT template Library Data Objects Drivers Registers Memories Base Class Packages Base Library Tool Packages: any_unit, any_env, any_sequence Note : “Horizontal (Interface/Protocol) and Vertical (Base Classes and Methods) Reuse Strategies are Deployable using OO Design Techniques”
  • Coverage
  • Coverage: Types Code Coverage Assertion & Formal Coverage Functional Coverage Integration Coverage System & Validation Coverage
  • Coverage: Achieving Thoroughness Identify which Design Functions have not been exercised Identify What Test Code has not been simulated Complements the Checking Code (traffic types, latency, performance, etc) Code Functional Coverage Coverage Structural Coverage Assertions
  • Coverage: Collection, Merging, and Reporting Test Cases, Test Cases, Coverage Data Regression 1 Procedural Test Cases, Procedural Code Cases, Test Simulation Procedural Merging Code Procedural Coverage “Process” Code Code Output (Cover DB) Test Cases, Test Cases, Test Cases, Test Cases, Procedural Test Cases, Procedural Test Cases, Procedural Regression n Code Cases, Test Procedural Code Cases, Test Simulation Procedural Simulation Procedural “Total Coverage” Code Procedural Code Procedural Coverage Code Coverage Code Reports & HTML views Code Code Output Output (Cover DB) Project Level Coverage Progress Reports
  • Coverage: Challenges in Coverage Driven Methodology Goals are manually created from the engineering Specs -> Labor Intensive Random generation can be wasteful if overall coverage is not increasing Simulation cycles can be slow and/or expensive, especially if they are being wasted Execution Predictability with Schedules & Resources
  • Coverage: Execution Predictability Coverage Progress Chart: “S”age Commi t Phenomena Ti gr i s 2.0 Test Cover Curve 2900 2700 2500 Total Pl anned 2300 Wr i tten Actual Wr i tten Commi t 2100 Cover ed Actual Cover ed Commi t 1900 1700 1500
  • Regression “Engineering”
  • Regression “Engineering”: Challenges Manage thousands of simulation jobs & results Multiple environments Many Servers, Lots of output! Team environment, Individual Owners Analysis Reproducing test fails easily & accurately -> test/bench, machine, seed, tools, versions More debug output necessary? Correctly assigned or delegated to appropriate owner(s) Efficiency Dynamically Allocating Right Machines for the Right Job Types Maximize Utilization of both Hardware and Software Coverage Closure: Hole Analysis, Ranking 24/7 rebalancing, including interactive session priority management
  • Planning
  • Planning: Improvements in Plan Creation and Change Management More Tightly Couple the Design Specification with the Verification Plan Change Management System More Automatic Synchronization and Notification Improve the Efficiency between Coverage Plan and Implementation Reduce or Remove the Disconnect between the Functional Coverage Code and the Coverage Plan Automate Functional Coverage Code “Generation”
  • Qualification
  • Qualification: What’s this? What is Qualification? Who’s checking the verification, and when? Error insertion to prove the accuracy and effectiveness of your verification systems Error insertion is placed in the DUT (not verification code) Challenges in adoption: “how, what, when”, effort levels Benefits for Simulation Qualify the Test Bench Qualify the Models & VIP Qualify the Test Cases & Constraints Benefits for Formal Proofs Qualify the Assertions Qualify the Constraints *Qualify the Answer the Tool is Giving you*
  • Summary Combining innovative techniques, tools, processes can yield significant results! Not “uncommon” to achieve 10x productivity and thoroughness improvements through methodology and tuning Verification processes will continue to change considerably to keep up with managing the exponential growth in design complexity
  • Interesting Materials, Good Food, Catch up with other Engineers in the Industry Invite your Co-Workers!