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

SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog Ramdas Mozhikunnath
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020Sameh El-Ashry
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveAmiq Consulting
 
SystemVerilog Assertion.pptx
SystemVerilog Assertion.pptxSystemVerilog Assertion.pptx
SystemVerilog Assertion.pptxNothing!
 
Introduction to System verilog
Introduction to System verilog Introduction to System verilog
Introduction to System verilog Pushpa Yakkala
 
UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usageParth Pandya
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic SequencesArrow Devices
 
Verification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designVerification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designUsha Mehta
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelDVClub
 
System verilog important
System verilog importantSystem verilog important
System verilog importantelumalai7
 
ATPG Methods and Algorithms
ATPG Methods and AlgorithmsATPG Methods and Algorithms
ATPG Methods and AlgorithmsDeiptii Das
 
6 verification tools
6 verification tools6 verification tools
6 verification toolsUsha Mehta
 
Design for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDilip Mathuria
 

La actualidad más candente (20)

SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
 
system verilog
system verilogsystem verilog
system verilog
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with Octave
 
SystemVerilog Assertion.pptx
SystemVerilog Assertion.pptxSystemVerilog Assertion.pptx
SystemVerilog Assertion.pptx
 
Introduction to System verilog
Introduction to System verilog Introduction to System verilog
Introduction to System verilog
 
UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usage
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic Sequences
 
Scan insertion
Scan insertionScan insertion
Scan insertion
 
UVM TUTORIAL;
UVM TUTORIAL;UVM TUTORIAL;
UVM TUTORIAL;
 
Verification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designVerification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_design
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC Level
 
System verilog important
System verilog importantSystem verilog important
System verilog important
 
ATPG Methods and Algorithms
ATPG Methods and AlgorithmsATPG Methods and Algorithms
ATPG Methods and Algorithms
 
Unit testing
Unit testingUnit testing
Unit testing
 
6 verification tools
6 verification tools6 verification tools
6 verification tools
 
Design for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generation
 
Test Bench Development
Test Bench DevelopmentTest Bench Development
Test Bench Development
 

Similar a Verification strategies

Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructureVijayan Reddy
 
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
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Softwareguest8861ff
 

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
 
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
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
 

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