SlideShare una empresa de Scribd logo
1 de 14
Verification Strategies


          Vinchip Systems
          (a Design and Verification Company)

                   Chennai.
What is Verification ?

   A process used to demonstrate the functional correctness of a design
   To ensure that the result of some transformation is as expected
Verification Problems

   Was the spec correct ?
   Did the design team understand the spec?
   Was the blocks implemented correctly?
   Were the interfaces between the blocks correct?
   Does it implement the desired
   functionality?
   ……
Verification Approaches

   Top-down verification approach
       From system to individual components
   Bottom-up verification approach
       From individual components to system
   Platform-based verification approach
       Verify the developed IP’s in an existing platform
   System interface-based verification approach
       Model each block at the interface level
       Suitable for final integration verification
Advs. of Bottom-up Approach

   Locality
   Catching bugs is easier and faster with foundational IPs (sub-blocks)
   Design the SoC chip with these highly confidence “bug-free”IPs
Verification Environment
Terminology
   Verification environment
       Commonly referred as test bench (environment)
   Definition of a Testbench
       A verification environment containing a set of components
   The Components are
       Bus functional models (BFMs),
       Bus monitors,
       Memory modules
       Interconnect of such components with the design-under-verification (DUV)
   Verification (test) suites (stimuli, patterns, vectors)
       Test signals and the expected response under given test benches
Testbench Design

   Auto or semi-auto stimulus generator is preferred
   Automatic response checking is highly recommended
   May be designed with the following techniques
       Testbench in HDL
       Testbench in programming language interface (PLI)
       Waveform-based
       Transaction-based
       Specification-based
Types of Verification Tests (1/2)

   Random testing
       Try to create scenarios that engineers do not anticipate
   Functional testing
       User-provided functional patterns
   Compliances testing
   Corner case testing
   Real code testing (application SW)
       Avoid misunderstanding the spec.
Types of Verification Tests (2/2)

   Regression testing
       Ensure that fixing a bug will not introduce another bug(s)
       Regression test system should be automated
           Add new tests
           Check results and generate report
           Distribute simulation over multiple computer
       Time-consuming process when verification suites become large
BugTracking

   A central database collecting known bugs and fixes
   Avoid debugging the same bug multiple times
   Good bug report system helps knowledge accumulation
VerificationPlan

   Verification plan is a part of the design reports
   Contents
       Test strategy for both blocks and top-level module
       Test bench components –BFM, bus monitors, …...
       Required verification tools and flows
       Simulation environment including block diagram
       Key features needed to be verified in both levels
       Regression test environment and procedure
       Clear criteria to determine whether the verification is successfully complete
Benefits of Verification Plan

   Verification plan enables
       Developing the test bench environment early
       Developing the test suites early
       Developing the verification environment in parallel with the design task by
        a separate team
       Focusing the verification effort to meet the product shipment criteria
       Forcing designers to think through the time-consuming activities before
        performing them
Verification strategies

Más contenido relacionado

La actualidad más candente (20)

STLC
STLCSTLC
STLC
 
White box testing
White box testingWhite box testing
White box testing
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysis
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Verilog Pli
Verilog PliVerilog Pli
Verilog Pli
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
LIN protocol description
LIN protocol descriptionLIN protocol description
LIN protocol description
 
Vlsi testing
Vlsi testingVlsi testing
Vlsi testing
 
Alpha & Beta Testing
Alpha & Beta TestingAlpha & Beta Testing
Alpha & Beta Testing
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
Vlsi
VlsiVlsi
Vlsi
 
Linux and firewall
Linux and firewallLinux and firewall
Linux and firewall
 
Dft (design for testability)
Dft (design for testability)Dft (design for testability)
Dft (design for testability)
 
Software testing
Software testingSoftware testing
Software testing
 
Chap 3 data and signals
Chap 3 data and signalsChap 3 data and signals
Chap 3 data and signals
 
Session 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfacesSession 8 assertion_based_verification_and_interfaces
Session 8 assertion_based_verification_and_interfaces
 
system verilog
system verilogsystem verilog
system verilog
 
Amvdd Data Converter Fundamentals
Amvdd Data Converter FundamentalsAmvdd Data Converter Fundamentals
Amvdd Data Converter Fundamentals
 
Vlsi physical design-notes
Vlsi physical design-notesVlsi physical design-notes
Vlsi physical design-notes
 

Similar a Verification strategies

Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructureVijayan Reddy
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
UVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxUVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxnikitha992646
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
qawithmicrosofttestmanagerandlabmanagement
qawithmicrosofttestmanagerandlabmanagementqawithmicrosofttestmanagerandlabmanagement
qawithmicrosofttestmanagerandlabmanagementsunil singh
 
V Model in Software Testing
V Model in Software TestingV Model in Software Testing
V Model in Software TestingAbdul Raheem
 
QA with Microsoft Test Manager and Lab Management
QA with Microsoft Test Manager and Lab ManagementQA with Microsoft Test Manager and Lab Management
QA with Microsoft Test Manager and Lab ManagementRofiqi Setiawan
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Conceptsmqamarhayat
 

Similar a Verification strategies (20)

Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructure
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software test proposal
Software test proposalSoftware test proposal
Software test proposal
 
Software testing2
Software testing2Software testing2
Software testing2
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
UVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxUVM_Full_Print_n.pptx
UVM_Full_Print_n.pptx
 
verification and validation
verification and validationverification and validation
verification and validation
 
qawithmicrosofttestmanagerandlabmanagement
qawithmicrosofttestmanagerandlabmanagementqawithmicrosofttestmanagerandlabmanagement
qawithmicrosofttestmanagerandlabmanagement
 
Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST
 
V Model in Software Testing
V Model in Software TestingV Model in Software Testing
V Model in Software Testing
 
QA with Microsoft Test Manager and Lab Management
QA with Microsoft Test Manager and Lab ManagementQA with Microsoft Test Manager and Lab Management
QA with Microsoft Test Manager and Lab Management
 
Software testing
Software testingSoftware testing
Software testing
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
 

Más de Vinchipsytm Vlsitraining (11)

VLSI_ASIC_Training_Summer_Offer
VLSI_ASIC_Training_Summer_OfferVLSI_ASIC_Training_Summer_Offer
VLSI_ASIC_Training_Summer_Offer
 
Verilog Tasks and functions
Verilog Tasks and functionsVerilog Tasks and functions
Verilog Tasks and functions
 
Hard ip based SoC design
Hard ip based SoC designHard ip based SoC design
Hard ip based SoC design
 
Optimizing for low power in embedded mcu designs
Optimizing for low power in embedded mcu designsOptimizing for low power in embedded mcu designs
Optimizing for low power in embedded mcu designs
 
Coding style for good synthesis
Coding style for good synthesisCoding style for good synthesis
Coding style for good synthesis
 
Chip packaging technology
Chip packaging technologyChip packaging technology
Chip packaging technology
 
USB 2.0
USB 2.0USB 2.0
USB 2.0
 
SOC design
SOC design SOC design
SOC design
 
Axi
AxiAxi
Axi
 
Usb 2
Usb 2Usb 2
Usb 2
 
Low power vlsi design
Low power vlsi designLow power vlsi design
Low power vlsi design
 

Verification strategies

  • 1. Verification Strategies Vinchip Systems (a Design and Verification Company) Chennai.
  • 2. What is Verification ?  A process used to demonstrate the functional correctness of a design  To ensure that the result of some transformation is as expected
  • 3. Verification Problems  Was the spec correct ?  Did the design team understand the spec?  Was the blocks implemented correctly?  Were the interfaces between the blocks correct?  Does it implement the desired  functionality?  ……
  • 4. Verification Approaches  Top-down verification approach  From system to individual components  Bottom-up verification approach  From individual components to system  Platform-based verification approach  Verify the developed IP’s in an existing platform  System interface-based verification approach  Model each block at the interface level  Suitable for final integration verification
  • 5. Advs. of Bottom-up Approach  Locality  Catching bugs is easier and faster with foundational IPs (sub-blocks)  Design the SoC chip with these highly confidence “bug-free”IPs
  • 7. Terminology  Verification environment  Commonly referred as test bench (environment)  Definition of a Testbench  A verification environment containing a set of components  The Components are  Bus functional models (BFMs),  Bus monitors,  Memory modules  Interconnect of such components with the design-under-verification (DUV)  Verification (test) suites (stimuli, patterns, vectors)  Test signals and the expected response under given test benches
  • 8. Testbench Design  Auto or semi-auto stimulus generator is preferred  Automatic response checking is highly recommended  May be designed with the following techniques  Testbench in HDL  Testbench in programming language interface (PLI)  Waveform-based  Transaction-based  Specification-based
  • 9. Types of Verification Tests (1/2)  Random testing  Try to create scenarios that engineers do not anticipate  Functional testing  User-provided functional patterns  Compliances testing  Corner case testing  Real code testing (application SW)  Avoid misunderstanding the spec.
  • 10. Types of Verification Tests (2/2)  Regression testing  Ensure that fixing a bug will not introduce another bug(s)  Regression test system should be automated  Add new tests  Check results and generate report  Distribute simulation over multiple computer  Time-consuming process when verification suites become large
  • 11. BugTracking  A central database collecting known bugs and fixes  Avoid debugging the same bug multiple times  Good bug report system helps knowledge accumulation
  • 12. VerificationPlan  Verification plan is a part of the design reports  Contents  Test strategy for both blocks and top-level module  Test bench components –BFM, bus monitors, …...  Required verification tools and flows  Simulation environment including block diagram  Key features needed to be verified in both levels  Regression test environment and procedure  Clear criteria to determine whether the verification is successfully complete
  • 13. Benefits of Verification Plan  Verification plan enables  Developing the test bench environment early  Developing the test suites early  Developing the verification environment in parallel with the design task by a separate team  Focusing the verification effort to meet the product shipment criteria  Forcing designers to think through the time-consuming activities before performing them