SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Welcome to RTPWelcome to RTP
DVClubDVClub!!
Topics in VerificationTopics in Verification
Pete LaFauciPete LaFauci
October 18, 2006October 18, 2006
AgendaAgenda
Brief Discussion/Overview aboutBrief Discussion/Overview about ““the Clubthe Club””
Historical Perspective of Languages & SimulatorsHistorical Perspective of Languages & Simulators
Topics in VerificationTopics in Verification
ReuseReuse
CoverageCoverage
Regression EngineeringRegression Engineering
PlanningPlanning
QualificationQualification
SummarySummary
DVClubDVClub OverviewOverview
Voluntary, Community Based Verification GroupVoluntary, Community Based Verification Group
Discuss Present Day ChallengesDiscuss Present Day Challenges
EDA neutralEDA neutral
Presentation ofPresentation of ““sharablesharable”” ideas, experiences, and resultsideas, experiences, and results
Advisory BoardAdvisory Board
Currently about 10 members, spanning 6 companies (looking forCurrently about 10 members, spanning 6 companies (looking for
additional participants)additional participants)
Planning, Logistics, Speakers, TopicsPlanning, Logistics, Speakers, Topics
Topics should be Chip Verification related, but can spanTopics should be Chip Verification related, but can span
adjacent areas:adjacent areas:
Design for Verification, IT, Project ManagementDesign for Verification, IT, Project Management
Please Contact Pete LaFauci or Justin Sprague regarding interestPlease Contact Pete LaFauci or Justin Sprague regarding interest
in the Advisory Board or Presenting atin the Advisory Board or Presenting at DVClubDVClub!!
Historical Perspective: WhatHistorical Perspective: What’’s dones done
Produce some test vector stimulus, and simulateProduce some test vector stimulus, and simulate
Look at the output and waveforms on workstation, debug the restLook at the output and waveforms on workstation, debug the rest in the labin the lab
Produce a test plan and lots of directed, procedural test casesProduce a test plan and lots of directed, procedural test cases
Run each test case in the test bucketRun each test case in the test bucket
Completion: each individual test case passesCompletion: each individual test case passes
Produce a verification plan, which includes modelProduce a verification plan, which includes model
requirements, functions & coverage goalsrequirements, functions & coverage goals
Combine generation capabilities, checkers, randomness, and coverCombine generation capabilities, checkers, randomness, and coverage monitors toage monitors to
gauge the simulationsgauge the simulations
Run tests with multipleRun tests with multiple ““seedsseeds””
Completion: all tests pass, and coverage output isCompletion: all tests pass, and coverage output is ““analyzedanalyzed””
Produce a verification methodology,Produce a verification methodology, ““architectarchitect”” aa
verification environment & plan, and leverage powerful toolsverification environment & plan, and leverage powerful tools
Automate both efficiency and thoroughness, through prediction, sAutomate both efficiency and thoroughness, through prediction, steering, and proofsteering, and proofs
VIP, Environment, Library, and TestVIP, Environment, Library, and Test ““ReuseReuse””
““RankRank”” the test suite efficiency, directed tests for coverage closurethe test suite efficiency, directed tests for coverage closure
Completion: all tests pass, coverage goals are met using measuraCompletion: all tests pass, coverage goals are met using measurable metricsble metrics
Then
Now
Historical Prevalence:Historical Prevalence:
Verification LanguagesVerification Languages
VHDL
Records / Dynamic
Variable Indices & Slicing
2-d ports
HVL – ‘e’ & Vera
Constraint Solvers
Easy RTL Access
Functional Coverage
Built-in libraries
C, C++. Perl
Complex Data Structs
Superior String Functions
Verilog
Concurrency
Tasks & Functions
PLI
Early ’90s
Late ’90s –
Early 00’s
Mid ’90s
Today / Tomorrow / Future?
Modeling – SystemC
Higher Abstraction, TLM, HW/SW
Algorithmic Modeling & Prototype
HVDL – SystemVerilog
RTL/HVL Integration/Unification
SystemC & TLM Interfaces
Assertion Based Verification
DPI
ReuseReuse
Reuse: Going Beyond Traditional VIPReuse: Going Beyond Traditional VIP
““ComponentsComponents””: traditional VIP: traditional VIP
Common bus and data protocolsCommon bus and data protocols
Monitors, Predictors, DriversMonitors, Predictors, Drivers
Environments:Environments: new(ernew(er) with OOP/HVL) with OOP/HVL
TestbenchesTestbenches && ““HarnessesHarnesses””
Constraints & Test CasesConstraints & Test Cases
Configuration ComponentsConfiguration Components
Addresses ScalabilityAddresses Scalability
“instance & program”
“inherit, derive, build, configure”
Reuse: Inheritance and AbstractionReuse: Inheritance and Abstraction
Base Class Packages
DUT templateTest Harness
Globals
MemoriesRegistersData Objects
Interface & Protocol
templates
Harness
Drivers
Scoreboard
User Test Case & Constraints
Environment Test Methods and User Interfaces
Test Benches/Harnesses
DUT VIP
Tool Packages: any_unit, any_env, any_sequence
Application
Specific
Verification
Environment
Company
Library
Inheritance
And
Instantiations
Base
Library
Protocol VIP
Interface VIP
Note : “Horizontal (Interface/Protocol) and Vertical (Base Classes and Methods) Reuse Strategies are
Deployable using OO Design Techniques”
CoverageCoverage
Coverage: TypesCoverage: Types
Code CoverageCode Coverage
Assertion & Formal CoverageAssertion & Formal Coverage
Functional CoverageFunctional Coverage
Integration CoverageIntegration Coverage
System & Validation CoverageSystem & Validation Coverage
Coverage: AchievingCoverage: Achieving
ThoroughnessThoroughness
Identify which Design Functions have not been exercisedIdentify which Design Functions have not been exercised
Identify What Test Code has not been simulatedIdentify What Test Code has not been simulated
Complements the Checking Code (traffic types, latency,Complements the Checking Code (traffic types, latency,
performance, etc)performance, etc)
Structural
Coverage
Assertions
Code
Coverage
Functional
Coverage
Coverage: Collection, Merging,Coverage: Collection, Merging,
and Reportingand Reporting
Project Level Coverage
Progress Reports
Regression 1
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Simulation
Coverage
Output
(Cover DB)
Coverage Data
Merging
“Process”
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Simulation
Coverage
Output
Regression n “Total Coverage”
Reports & HTML views
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Test Cases,
Procedural
Code
Simulation
Coverage
Output
(Cover DB)
Coverage: Challenges in CoverageCoverage: Challenges in Coverage
Driven MethodologyDriven Methodology
Goals are manually created from the engineeringGoals are manually created from the engineering
SpecsSpecs --> Labor Intensive> Labor Intensive
Random generation can be wasteful if overallRandom generation can be wasteful if overall
coverage is not increasingcoverage is not increasing
Simulation cycles can be slow and/or expensive,Simulation cycles can be slow and/or expensive,
especially if they are being wastedespecially if they are being wasted
Execution Predictability with Schedules &Execution Predictability with Schedules &
ResourcesResources
Coverage: Execution PredictabilityCoverage: Execution Predictability
Tigr is 2.0Test Cover ageCommit
1500
1700
1900
2100
2300
2500
2700
2900
Total Planned
Wr ittenActual
Wr ittenCommit
Cover edActual
Cover edCommit
Coverage Progress Chart: “S” Curve Phenomena
RegressionRegression
““EngineeringEngineering””
RegressionRegression ““EngineeringEngineering””::
ChallengesChallenges
Manage thousands of simulation jobs & resultsManage thousands of simulation jobs & results
Multiple environmentsMultiple environments
Many Servers, Lots of output!Many Servers, Lots of output!
Team environment, Individual OwnersTeam environment, Individual Owners
AnalysisAnalysis
Reproducing test fails easily & accuratelyReproducing test fails easily & accurately --> test/bench, machine, seed, tools,> test/bench, machine, seed, tools,
versionsversions
More debug output necessary?More debug output necessary?
Correctly assigned or delegated to appropriateCorrectly assigned or delegated to appropriate owner(sowner(s))
EfficiencyEfficiency
Dynamically Allocating Right Machines for the Right Job TypesDynamically Allocating Right Machines for the Right Job Types
Maximize Utilization of both Hardware and SoftwareMaximize Utilization of both Hardware and Software
Coverage Closure: Hole Analysis, RankingCoverage Closure: Hole Analysis, Ranking
24/7 rebalancing, including interactive session priority managem24/7 rebalancing, including interactive session priority managementent
PlanningPlanning
Planning: Improvements in PlanPlanning: Improvements in Plan
Creation and Change ManagementCreation and Change Management
More Tightly Couple the Design Specification with theMore Tightly Couple the Design Specification with the
Verification PlanVerification Plan
Change Management SystemChange Management System
More Automatic Synchronization and NotificationMore Automatic Synchronization and Notification
Improve the Efficiency between Coverage Plan andImprove the Efficiency between Coverage Plan and
ImplementationImplementation
Reduce or Remove the Disconnect between the FunctionalReduce or Remove the Disconnect between the Functional
Coverage Code and the Coverage PlanCoverage Code and the Coverage Plan
Automate Functional Coverage CodeAutomate Functional Coverage Code ““GenerationGeneration””
QualificationQualification
Qualification: WhatQualification: What’’s this?s this?
What is Qualification?What is Qualification?
WhoWho’’s checking the verification, and when?s checking the verification, and when?
Error insertion to prove the accuracy and effectiveness of yourError insertion to prove the accuracy and effectiveness of your
verification systemsverification systems
Error insertion is placed in the DUT (not verification code)Error insertion is placed in the DUT (not verification code)
Challenges in adoption:Challenges in adoption: ““how, what, whenhow, what, when””, effort levels, effort levels
Benefits for SimulationBenefits for Simulation
Qualify the Test BenchQualify the Test Bench
Qualify the Models & VIPQualify the Models & VIP
Qualify the Test Cases & ConstraintsQualify the Test Cases & Constraints
Benefits for Formal ProofsBenefits for Formal Proofs
Qualify the AssertionsQualify the Assertions
Qualify the ConstraintsQualify the Constraints
*Qualify the Answer the Tool is Giving you**Qualify the Answer the Tool is Giving you*
SummarySummary
Combining innovative techniques, tools, processes canCombining innovative techniques, tools, processes can
yield significant results!yield significant results!
NotNot ““uncommonuncommon”” to achieve 10x productivity andto achieve 10x productivity and
thoroughness improvements through methodology andthoroughness improvements through methodology and
tuningtuning
Verification processes will continue to changeVerification processes will continue to change
considerably to keep up with managing the exponentialconsiderably to keep up with managing the exponential
growth in design complexitygrowth in design complexity
Interesting Materials,
Good Food,
Catch up with other Engineers in the Industry
Invite your Co-Workers!
www.dvclub.org

Contenu connexe

Similaire à Topics in Verification: Reuse, Coverage, Regression Engineering, Planning, Qualification

AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAmazon Web Services
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)CIVEL Benoit
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1CIVEL Benoit
 
Value stream mapping for DevOps
Value stream mapping for DevOpsValue stream mapping for DevOps
Value stream mapping for DevOpsMarc Hornbeek
 
Production Readiness Strategies in an Automated World
Production Readiness Strategies in an Automated WorldProduction Readiness Strategies in an Automated World
Production Readiness Strategies in an Automated WorldSean Chittenden
 
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...Lace Lofranco
 
Sajeeda Parveen_5+Exp_Resume
Sajeeda Parveen_5+Exp_ResumeSajeeda Parveen_5+Exp_Resume
Sajeeda Parveen_5+Exp_Resumesajeedakumbari
 
2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conferenceQualiQuali
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Neotys_Partner
 
CV_SyedShoeb_2015
CV_SyedShoeb_2015CV_SyedShoeb_2015
CV_SyedShoeb_2015Syed Shoeb
 
Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos...
 Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos... Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos...
Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos...Senturus
 
Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...
Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...
Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...Amazon Web Services
 
What is Software Testing | Edureka
What is Software Testing | EdurekaWhat is Software Testing | Edureka
What is Software Testing | EdurekaEdureka!
 
Fllow con 2014
Fllow con 2014 Fllow con 2014
Fllow con 2014 gbgruver
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Cωνσtantίnoς Giannoulis
 
Improving software econimics
Improving software econimicsImproving software econimics
Improving software econimicsKalica Wadhwa
 
Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...
Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...
Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...Senturus
 

Similaire à Topics in Verification: Reuse, Coverage, Regression Engineering, Planning, Qualification (20)

AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
 
Tec314
Tec314Tec314
Tec314
 
Value stream mapping for DevOps
Value stream mapping for DevOpsValue stream mapping for DevOps
Value stream mapping for DevOps
 
Production Readiness Strategies in an Automated World
Production Readiness Strategies in an Automated WorldProduction Readiness Strategies in an Automated World
Production Readiness Strategies in an Automated World
 
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
 
Sajeeda Parveen_5+Exp_Resume
Sajeeda Parveen_5+Exp_ResumeSajeeda Parveen_5+Exp_Resume
Sajeeda Parveen_5+Exp_Resume
 
2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
 
CV_SyedShoeb_2015
CV_SyedShoeb_2015CV_SyedShoeb_2015
CV_SyedShoeb_2015
 
Devopsdays barcelona
Devopsdays barcelonaDevopsdays barcelona
Devopsdays barcelona
 
Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos...
 Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos... Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos...
Beyond PowerPlay: Choose the Right OLAP Tool for Your BI Environment (Cognos...
 
Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...
Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...
Incorporating the AWS Well-Architected Framework into Your Architecture (ARC2...
 
What is Software Testing | Edureka
What is Software Testing | EdurekaWhat is Software Testing | Edureka
What is Software Testing | Edureka
 
Fllow con 2014
Fllow con 2014 Fllow con 2014
Fllow con 2014
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
 
Resume_NIT
Resume_NITResume_NIT
Resume_NIT
 
Improving software econimics
Improving software econimicsImproving software econimics
Improving software econimics
 
Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...
Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...
Choosing the Right Tool for the Job: Cognos Workspace vs. Traditional Studios...
 

Plus de DVClub

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesDVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)DVClub
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyDVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUsDVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentDVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal ValidationDVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design CommunityDVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemCDVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessDVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationDVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 ProcessorDVClub
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceDVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS VerificationDVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and VerificationDVClub
 

Plus de DVClub (20)

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team Environment
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
 

Dernier

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Topics in Verification: Reuse, Coverage, Regression Engineering, Planning, Qualification

  • 1. Welcome to RTPWelcome to RTP DVClubDVClub!! Topics in VerificationTopics in Verification Pete LaFauciPete LaFauci October 18, 2006October 18, 2006
  • 2. AgendaAgenda Brief Discussion/Overview aboutBrief Discussion/Overview about ““the Clubthe Club”” Historical Perspective of Languages & SimulatorsHistorical Perspective of Languages & Simulators Topics in VerificationTopics in Verification ReuseReuse CoverageCoverage Regression EngineeringRegression Engineering PlanningPlanning QualificationQualification SummarySummary
  • 3. DVClubDVClub OverviewOverview Voluntary, Community Based Verification GroupVoluntary, Community Based Verification Group Discuss Present Day ChallengesDiscuss Present Day Challenges EDA neutralEDA neutral Presentation ofPresentation of ““sharablesharable”” ideas, experiences, and resultsideas, experiences, and results Advisory BoardAdvisory Board Currently about 10 members, spanning 6 companies (looking forCurrently about 10 members, spanning 6 companies (looking for additional participants)additional participants) Planning, Logistics, Speakers, TopicsPlanning, Logistics, Speakers, Topics Topics should be Chip Verification related, but can spanTopics should be Chip Verification related, but can span adjacent areas:adjacent areas: Design for Verification, IT, Project ManagementDesign for Verification, IT, Project Management Please Contact Pete LaFauci or Justin Sprague regarding interestPlease Contact Pete LaFauci or Justin Sprague regarding interest in the Advisory Board or Presenting atin the Advisory Board or Presenting at DVClubDVClub!!
  • 4. Historical Perspective: WhatHistorical Perspective: What’’s dones done Produce some test vector stimulus, and simulateProduce some test vector stimulus, and simulate Look at the output and waveforms on workstation, debug the restLook at the output and waveforms on workstation, debug the rest in the labin the lab Produce a test plan and lots of directed, procedural test casesProduce a test plan and lots of directed, procedural test cases Run each test case in the test bucketRun each test case in the test bucket Completion: each individual test case passesCompletion: each individual test case passes Produce a verification plan, which includes modelProduce a verification plan, which includes model requirements, functions & coverage goalsrequirements, functions & coverage goals Combine generation capabilities, checkers, randomness, and coverCombine generation capabilities, checkers, randomness, and coverage monitors toage monitors to gauge the simulationsgauge the simulations Run tests with multipleRun tests with multiple ““seedsseeds”” Completion: all tests pass, and coverage output isCompletion: all tests pass, and coverage output is ““analyzedanalyzed”” Produce a verification methodology,Produce a verification methodology, ““architectarchitect”” aa verification environment & plan, and leverage powerful toolsverification environment & plan, and leverage powerful tools Automate both efficiency and thoroughness, through prediction, sAutomate both efficiency and thoroughness, through prediction, steering, and proofsteering, and proofs VIP, Environment, Library, and TestVIP, Environment, Library, and Test ““ReuseReuse”” ““RankRank”” the test suite efficiency, directed tests for coverage closurethe test suite efficiency, directed tests for coverage closure Completion: all tests pass, coverage goals are met using measuraCompletion: all tests pass, coverage goals are met using measurable metricsble metrics Then Now
  • 5. Historical Prevalence:Historical Prevalence: Verification LanguagesVerification Languages VHDL Records / Dynamic Variable Indices & Slicing 2-d ports HVL – ‘e’ & Vera Constraint Solvers Easy RTL Access Functional Coverage Built-in libraries C, C++. Perl Complex Data Structs Superior String Functions Verilog Concurrency Tasks & Functions PLI Early ’90s Late ’90s – Early 00’s Mid ’90s Today / Tomorrow / Future? Modeling – SystemC Higher Abstraction, TLM, HW/SW Algorithmic Modeling & Prototype HVDL – SystemVerilog RTL/HVL Integration/Unification SystemC & TLM Interfaces Assertion Based Verification DPI
  • 7. Reuse: Going Beyond Traditional VIPReuse: Going Beyond Traditional VIP ““ComponentsComponents””: traditional VIP: traditional VIP Common bus and data protocolsCommon bus and data protocols Monitors, Predictors, DriversMonitors, Predictors, Drivers Environments:Environments: new(ernew(er) with OOP/HVL) with OOP/HVL TestbenchesTestbenches && ““HarnessesHarnesses”” Constraints & Test CasesConstraints & Test Cases Configuration ComponentsConfiguration Components Addresses ScalabilityAddresses Scalability “instance & program” “inherit, derive, build, configure”
  • 8. Reuse: Inheritance and AbstractionReuse: Inheritance and Abstraction Base Class Packages DUT templateTest Harness Globals MemoriesRegistersData Objects Interface & Protocol templates Harness Drivers Scoreboard User Test Case & Constraints Environment Test Methods and User Interfaces Test Benches/Harnesses DUT VIP Tool Packages: any_unit, any_env, any_sequence Application Specific Verification Environment Company Library Inheritance And Instantiations Base Library Protocol VIP Interface VIP Note : “Horizontal (Interface/Protocol) and Vertical (Base Classes and Methods) Reuse Strategies are Deployable using OO Design Techniques”
  • 10. Coverage: TypesCoverage: Types Code CoverageCode Coverage Assertion & Formal CoverageAssertion & Formal Coverage Functional CoverageFunctional Coverage Integration CoverageIntegration Coverage System & Validation CoverageSystem & Validation Coverage
  • 11. Coverage: AchievingCoverage: Achieving ThoroughnessThoroughness Identify which Design Functions have not been exercisedIdentify which Design Functions have not been exercised Identify What Test Code has not been simulatedIdentify What Test Code has not been simulated Complements the Checking Code (traffic types, latency,Complements the Checking Code (traffic types, latency, performance, etc)performance, etc) Structural Coverage Assertions Code Coverage Functional Coverage
  • 12. Coverage: Collection, Merging,Coverage: Collection, Merging, and Reportingand Reporting Project Level Coverage Progress Reports Regression 1 Test Cases, Procedural Code Test Cases, Procedural Code Test Cases, Procedural Code Test Cases, Procedural Code Simulation Coverage Output (Cover DB) Coverage Data Merging “Process” Test Cases, Procedural Code Test Cases, Procedural Code Test Cases, Procedural Code Test Cases, Procedural Code Simulation Coverage Output Regression n “Total Coverage” Reports & HTML views Test Cases, Procedural Code Test Cases, Procedural Code Test Cases, Procedural Code Test Cases, Procedural Code Simulation Coverage Output (Cover DB)
  • 13. Coverage: Challenges in CoverageCoverage: Challenges in Coverage Driven MethodologyDriven Methodology Goals are manually created from the engineeringGoals are manually created from the engineering SpecsSpecs --> Labor Intensive> Labor Intensive Random generation can be wasteful if overallRandom generation can be wasteful if overall coverage is not increasingcoverage is not increasing Simulation cycles can be slow and/or expensive,Simulation cycles can be slow and/or expensive, especially if they are being wastedespecially if they are being wasted Execution Predictability with Schedules &Execution Predictability with Schedules & ResourcesResources
  • 14. Coverage: Execution PredictabilityCoverage: Execution Predictability Tigr is 2.0Test Cover ageCommit 1500 1700 1900 2100 2300 2500 2700 2900 Total Planned Wr ittenActual Wr ittenCommit Cover edActual Cover edCommit Coverage Progress Chart: “S” Curve Phenomena
  • 16. RegressionRegression ““EngineeringEngineering””:: ChallengesChallenges Manage thousands of simulation jobs & resultsManage thousands of simulation jobs & results Multiple environmentsMultiple environments Many Servers, Lots of output!Many Servers, Lots of output! Team environment, Individual OwnersTeam environment, Individual Owners AnalysisAnalysis Reproducing test fails easily & accuratelyReproducing test fails easily & accurately --> test/bench, machine, seed, tools,> test/bench, machine, seed, tools, versionsversions More debug output necessary?More debug output necessary? Correctly assigned or delegated to appropriateCorrectly assigned or delegated to appropriate owner(sowner(s)) EfficiencyEfficiency Dynamically Allocating Right Machines for the Right Job TypesDynamically Allocating Right Machines for the Right Job Types Maximize Utilization of both Hardware and SoftwareMaximize Utilization of both Hardware and Software Coverage Closure: Hole Analysis, RankingCoverage Closure: Hole Analysis, Ranking 24/7 rebalancing, including interactive session priority managem24/7 rebalancing, including interactive session priority managementent
  • 18. Planning: Improvements in PlanPlanning: Improvements in Plan Creation and Change ManagementCreation and Change Management More Tightly Couple the Design Specification with theMore Tightly Couple the Design Specification with the Verification PlanVerification Plan Change Management SystemChange Management System More Automatic Synchronization and NotificationMore Automatic Synchronization and Notification Improve the Efficiency between Coverage Plan andImprove the Efficiency between Coverage Plan and ImplementationImplementation Reduce or Remove the Disconnect between the FunctionalReduce or Remove the Disconnect between the Functional Coverage Code and the Coverage PlanCoverage Code and the Coverage Plan Automate Functional Coverage CodeAutomate Functional Coverage Code ““GenerationGeneration””
  • 20. Qualification: WhatQualification: What’’s this?s this? What is Qualification?What is Qualification? WhoWho’’s checking the verification, and when?s checking the verification, and when? Error insertion to prove the accuracy and effectiveness of yourError insertion to prove the accuracy and effectiveness of your verification systemsverification systems Error insertion is placed in the DUT (not verification code)Error insertion is placed in the DUT (not verification code) Challenges in adoption:Challenges in adoption: ““how, what, whenhow, what, when””, effort levels, effort levels Benefits for SimulationBenefits for Simulation Qualify the Test BenchQualify the Test Bench Qualify the Models & VIPQualify the Models & VIP Qualify the Test Cases & ConstraintsQualify the Test Cases & Constraints Benefits for Formal ProofsBenefits for Formal Proofs Qualify the AssertionsQualify the Assertions Qualify the ConstraintsQualify the Constraints *Qualify the Answer the Tool is Giving you**Qualify the Answer the Tool is Giving you*
  • 21. SummarySummary Combining innovative techniques, tools, processes canCombining innovative techniques, tools, processes can yield significant results!yield significant results! NotNot ““uncommonuncommon”” to achieve 10x productivity andto achieve 10x productivity and thoroughness improvements through methodology andthoroughness improvements through methodology and tuningtuning Verification processes will continue to changeVerification processes will continue to change considerably to keep up with managing the exponentialconsiderably to keep up with managing the exponential growth in design complexitygrowth in design complexity
  • 22. Interesting Materials, Good Food, Catch up with other Engineers in the Industry Invite your Co-Workers! www.dvclub.org