SlideShare a Scribd company logo
1 of 23
SYSTEM VERILOG -
VERIFICATION METHODOLOGY


Vinchip Systems
(a Design and Verification Company)

Chennai.
Synopsis

Introduction

Verification methodology Key features

Verification Flow

Verification Environment

SV Based Verification

Integration, Simulation

Bug Report mechanism
7/1
Introduction

•    Verification is the process of experimenting our
    design with possible test scenarios.

•    Verification contains many phases that includes
    Testcase generation, coverage, monitor ..,etc.

•   Before tape-out our design should be verified
    more than 90% successfully.
Verification methodology key features


 The key features associated with the verification
  methodology are:
    Assertion Based Verification
    Functional Coverage Driven Verification
    Constrained Random Verification
    Scoreboard & Checker
Key features.....

 Assertion Based Verification

   Assertion Based Verification helps to detect more
   functional bugs earlier in the verification process and
   enables short verification cycle times and faster
   debugging.
 Functional Coverage Driven Verification

   Functional Coverage Driven Verification is the process
   in which the result of functional coverage is used to
   drive the verification to completion. It also gives a
   more structured approach to verification, instead of
   writing more testcases.
Key features......

 Constrained Random Verification

   It is well suited for designs that have diverse set of
   operations and sequences that are difficult to cover
   completely. Constrained random tests are faster to write
   and enables faster verification of the design.
 Scoreboard & Checker

   Scoreboard and Checker is a mechanism used to
   dynamically predict the response of the design and
   check the observed response against the predicted
   response. Usually it refers to the entire dynamic
   response-checking structure.
Verification Flow
                                Design Specifications

                                  Verification plan

     Testcase Scenarios                                 Testbench Environment1

     Testcase generation                                 Model and Testbench
(handcrafted SCV/SV generated                               Devolopment


                  Integration of RTL with Testbench Environment

                          No        RTL function
         Modify RTL
                                      verified
                                               YES
                           Testsuit Regression Coverage


                NO                Coverage Target
                                    Achieved?
                                                YES
                                          END
Verification Flow

 Design Specification

  Verification flow starts with understanding the
  architecture specification of the design under
  verification. Once the architecture is well understood
  then comes the verification plan.
 Verification Plan

  The verification plan comprises the preparation of test
  case scenarios and testbench environment
Testcase Scenarios
 The testcase scenarios document includes all the
  possible combinations to test the functionality of the
  design under test.



                      Test Case Scenarios




      Self Checking                         Non-Self Checking
Self Checking

 Self checking test cases are written in such a way that it
  tests itself.


                        Self Checking




      Corner              Directed             Coverage
Self Checking
 Corner

  Corner cases covers the scenarios which are prone to errors and
  non-trivial, where there are more possibilities of uncovering bugs.

 Directed

  Directed cases covers all the scenarios related to the general
  features and they are straight forward cases which are written in an
  orderly manner.

 Coverage

  Coverage cases are based on the coverage report and they contain
  the scenarios which are missedout in the other normal categories.
Non - Self Checking

Non - self checking test cases has no self checking code and
 they are coded such that if the program execution reaches the
 last line of the test case properly then a success code will be
 moved into a specific register. After the completion of
 execution that register can be checked for the success code to
 ensure the correctness of the design.

                            Non-Self checking




              Constrained                                  Application
  Random                         Stress         Negative
               Random                                       specific
Non - Self Checking
 Random

  Random cases cover all the possible combinations of data as
  well as scenarios in a random manner.
 Constrained Random

  Constrained Random cases cover the all possible
  combinations of data as well as scenarios in a random
  manner, constrained for valid combinations.
 Stress

  Stress cases exercise the logic with more number of
  combinations of scenarios as well as data for a long time to
  ensure the reliability of the design under stress conditions.
Non - Self Checking

 Negative

  Negative cases covers the scenarios which are not
  possible under normal cases. They are used to analyze
  the behavior of the design under error conditions.
 Application Specific

  High level cases targeted for a particular application
  normally written in “C” language.
Testbench Environment

The testbench environment includes different types of
 environments to be developed for effectively verifying
 the design under verification. The testbench
 environments are of two types based on the testing
 strategies adopted.

  • Top Level

  • Block Level
Top Level


The top level testing includes the testing of the design as
 a whole and the stimulus forced in this case is the
 memory image generated from the assembly level or
 high level test files. Based on the requirement for the
 verification, there are three types of environments.
                          Top Level




          Static          Dynamic           Coverage
 Static

  Performs functional verification in a static manner using functional model.
  The results of DUT and model are dumped and compared for equivalence
  once the execution is over.

 Dynamic

  Performs timing verification in a dynamic manner using the cycle accurate
  model. The results of DUT and model are compared for equivalence at
  each and every cycle dynamically.

 Coverage

  The following are considered :

  • Line coverage

  • Branch coverage

  • FSM coverage
Block Level

Block level verification includes the verification of the
 different inner modules of the design for checking the
 scenarios which cannot be covered using the top level
 verification. It includes both static and dynamic
 environments and the stimuli in this case are inputs
 generated using tasks.
The testbench provides different debugging options and
 also uses sentinels to ensure the error free flow of data.
SystemVerilog Based Verification
Environment

                           Scoreboard




          Sequencer                          Sequencer




        Driver        Monitor      Monitor         Driver




                                DUT
SystemVerilog Based Testbench Development
 Sequencer

  Sequencer is an object that defines a set of transactions to be
  executed and controls the execution of other sequences.

 Driver

  It is the component responsible for executing or processing
  transactions and provides stimuli to the design-under-test (DUT).

 Monitor

  This block continuously monitors the DUT signals and bus
  functions.

 Scoreboard

  Driver requests are transferred to the scoreboard via monitor block.
Scoreboard components :

 Functional Coverage Accumulation

  Functional coverage is a measure of which design features
  have been exercised by the tests.

 Dynamic response checking mechanism

  The comparison of golden data with DUT data is performed
  dynamically. This block controls the overall verification
  environment such as reporting, violations and changing of the
  stimulus during run-time.

 Reporting mechanism

  Compiler directives to issue messages throughout the
  simulation. (Error, Info, Warning)
Integration,Simulation
Integration

  Once the RTL coding is over, it is hooked up in the
  testbench environment and then the verification process
  can be started.
Simulation

  Design is simulated using the simulation tool. Any error
  in the simulation triggers an error message which is
  dumped into an error log.
TestSuite Regression / Coverage

  The Regression Environment is developed using perl and
  shell scripts, to automate the regression run.
Bug Report Mechanism
Bug reports are maintained in Google docs for all the projects
 in the verification phase. Once the bug is encountered it is
 updated in the bug report with detailed information. Status of
 the open bugs is updated regularly.

More Related Content

What's hot

APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0Azad Mishra
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coveragePushpa Yakkala
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertionsHARINATH REDDY
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
 
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_interfacesNirav Desai
 
SystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features SummarySystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features SummaryAmal Khailtash
 
System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )sivasubramanian manickam
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functionsanand hd
 
2019 2 testing and verification of vlsi design_verification
2019 2 testing and verification of vlsi design_verification2019 2 testing and verification of vlsi design_verification
2019 2 testing and verification of vlsi design_verificationUsha Mehta
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?Sameh El-Ashry
 
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
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Sameh El-Ashry
 
Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverageNirav Desai
 

What's hot (20)

APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
Coverage and Introduction to UVM
Coverage and Introduction to UVMCoverage and Introduction to UVM
Coverage and Introduction to UVM
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coverage
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
UVM TUTORIAL;
UVM TUTORIAL;UVM TUTORIAL;
UVM TUTORIAL;
 
Advance Peripheral Bus
Advance Peripheral Bus Advance Peripheral Bus
Advance Peripheral Bus
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
 
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
 
SystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features SummarySystemVerilog OOP Ovm Features Summary
SystemVerilog OOP Ovm Features Summary
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
 
System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )System verilog assertions (sva) ( pdf drive )
System verilog assertions (sva) ( pdf drive )
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functions
 
2019 2 testing and verification of vlsi design_verification
2019 2 testing and verification of vlsi design_verification2019 2 testing and verification of vlsi design_verification
2019 2 testing and verification of vlsi design_verification
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
 
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
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
 
Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverage
 

Viewers also liked

Top 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answersTop 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answerstonychoper2706
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coveragerraimi
 
The Verification Methodology Landscape
The Verification Methodology LandscapeThe Verification Methodology Landscape
The Verification Methodology LandscapeDVClub
 
Vlsi interview questions1
Vlsi  interview questions1Vlsi  interview questions1
Vlsi interview questions1SUKESH Prathap
 
System Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSystem Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSubash John
 
Hardware description languages
Hardware description languagesHardware description languages
Hardware description languagesAkhila Rahul
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorialsguestbcfac5
 
System Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLSystem Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLE2MATRIX
 
Nvidia interview questions and answers
Nvidia interview questions and answersNvidia interview questions and answers
Nvidia interview questions and answersselinasimpson15
 
System verilog简介
System verilog简介System verilog简介
System verilog简介wujianping
 
RESUME_VISHNU_PRIYA
RESUME_VISHNU_PRIYARESUME_VISHNU_PRIYA
RESUME_VISHNU_PRIYAVishnu Priya
 
Aldec overview 2011-10 revised
Aldec overview 2011-10 revisedAldec overview 2011-10 revised
Aldec overview 2011-10 revisedPrateek Chopra
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_featuresNirav Desai
 
Hdl lenguaje descriptivo de hardware
Hdl lenguaje descriptivo de hardwareHdl lenguaje descriptivo de hardware
Hdl lenguaje descriptivo de hardwarelorena
 
Timing Analysis
Timing AnalysisTiming Analysis
Timing Analysisrchovatiya
 
Hardware Description Language
Hardware Description Language Hardware Description Language
Hardware Description Language Prachi Pandey
 
Code coverage & tools
Code coverage & toolsCode coverage & tools
Code coverage & toolsRajesh Kumar
 

Viewers also liked (20)

Top 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answersTop 10 verification engineer interview questions and answers
Top 10 verification engineer interview questions and answers
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coverage
 
The Verification Methodology Landscape
The Verification Methodology LandscapeThe Verification Methodology Landscape
The Verification Methodology Landscape
 
Vlsi interview questions1
Vlsi  interview questions1Vlsi  interview questions1
Vlsi interview questions1
 
System Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSystem Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancements
 
Hardware description languages
Hardware description languagesHardware description languages
Hardware description languages
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorials
 
System Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLSystem Verilog Tutorial - VHDL
System Verilog Tutorial - VHDL
 
Nvidia interview questions and answers
Nvidia interview questions and answersNvidia interview questions and answers
Nvidia interview questions and answers
 
Basics of Vhdl
Basics of VhdlBasics of Vhdl
Basics of Vhdl
 
System verilog简介
System verilog简介System verilog简介
System verilog简介
 
RESUME_VISHNU_PRIYA
RESUME_VISHNU_PRIYARESUME_VISHNU_PRIYA
RESUME_VISHNU_PRIYA
 
Aldec overview 2011-10 revised
Aldec overview 2011-10 revisedAldec overview 2011-10 revised
Aldec overview 2011-10 revised
 
Sd3
Sd3Sd3
Sd3
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_features
 
Hdl lenguaje descriptivo de hardware
Hdl lenguaje descriptivo de hardwareHdl lenguaje descriptivo de hardware
Hdl lenguaje descriptivo de hardware
 
Timing Analysis
Timing AnalysisTiming Analysis
Timing Analysis
 
Hardware Description Language
Hardware Description Language Hardware Description Language
Hardware Description Language
 
Code coverage & tools
Code coverage & toolsCode coverage & tools
Code coverage & tools
 
Code coverage
Code coverageCode coverage
Code coverage
 

Similar to system verilog

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
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Conceptsmqamarhayat
 
Service engineering
Service engineeringService engineering
Service engineeringQingsong Yao
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2Dr. Ahmed Al Zaidy
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSSanil Mhatre
 
Wind River Test Management
Wind River Test ManagementWind River Test Management
Wind River Test Managementramzyh78
 
Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4JAMK
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
UVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxUVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxnikitha992646
 
V Model in Software Testing
V Model in Software TestingV Model in Software Testing
V Model in Software TestingAbdul Raheem
 

Similar to system verilog (20)

13090016_vectorcast.ppt
13090016_vectorcast.ppt13090016_vectorcast.ppt
13090016_vectorcast.ppt
 
Verification strategies
Verification strategiesVerification strategies
Verification strategies
 
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
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
 
Service engineering
Service engineeringService engineering
Service engineering
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
 
software testing
software testingsoftware testing
software testing
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2
 
05 test infrastructure
05   test infrastructure05   test infrastructure
05 test infrastructure
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTS
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Wind River Test Management
Wind River Test ManagementWind River Test Management
Wind River Test Management
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4
 
verification and validation
verification and validationverification and validation
verification and validation
 
UVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxUVM_Full_Print_n.pptx
UVM_Full_Print_n.pptx
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
V Model in Software Testing
V Model in Software TestingV Model in Software Testing
V Model in Software Testing
 
Testing
TestingTesting
Testing
 

More from 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
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

system verilog

  • 1. SYSTEM VERILOG - VERIFICATION METHODOLOGY Vinchip Systems (a Design and Verification Company) Chennai.
  • 2. Synopsis Introduction Verification methodology Key features Verification Flow Verification Environment SV Based Verification Integration, Simulation Bug Report mechanism
  • 3. 7/1 Introduction • Verification is the process of experimenting our design with possible test scenarios. • Verification contains many phases that includes Testcase generation, coverage, monitor ..,etc. • Before tape-out our design should be verified more than 90% successfully.
  • 4. Verification methodology key features  The key features associated with the verification methodology are:  Assertion Based Verification  Functional Coverage Driven Verification  Constrained Random Verification  Scoreboard & Checker
  • 5. Key features.....  Assertion Based Verification Assertion Based Verification helps to detect more functional bugs earlier in the verification process and enables short verification cycle times and faster debugging.  Functional Coverage Driven Verification Functional Coverage Driven Verification is the process in which the result of functional coverage is used to drive the verification to completion. It also gives a more structured approach to verification, instead of writing more testcases.
  • 6. Key features......  Constrained Random Verification It is well suited for designs that have diverse set of operations and sequences that are difficult to cover completely. Constrained random tests are faster to write and enables faster verification of the design.  Scoreboard & Checker Scoreboard and Checker is a mechanism used to dynamically predict the response of the design and check the observed response against the predicted response. Usually it refers to the entire dynamic response-checking structure.
  • 7. Verification Flow Design Specifications Verification plan Testcase Scenarios Testbench Environment1 Testcase generation Model and Testbench (handcrafted SCV/SV generated Devolopment Integration of RTL with Testbench Environment No RTL function Modify RTL verified YES Testsuit Regression Coverage NO Coverage Target Achieved? YES END
  • 8. Verification Flow  Design Specification Verification flow starts with understanding the architecture specification of the design under verification. Once the architecture is well understood then comes the verification plan.  Verification Plan The verification plan comprises the preparation of test case scenarios and testbench environment
  • 9. Testcase Scenarios  The testcase scenarios document includes all the possible combinations to test the functionality of the design under test. Test Case Scenarios Self Checking Non-Self Checking
  • 10. Self Checking  Self checking test cases are written in such a way that it tests itself. Self Checking Corner Directed Coverage
  • 11. Self Checking  Corner Corner cases covers the scenarios which are prone to errors and non-trivial, where there are more possibilities of uncovering bugs.  Directed Directed cases covers all the scenarios related to the general features and they are straight forward cases which are written in an orderly manner.  Coverage Coverage cases are based on the coverage report and they contain the scenarios which are missedout in the other normal categories.
  • 12. Non - Self Checking Non - self checking test cases has no self checking code and they are coded such that if the program execution reaches the last line of the test case properly then a success code will be moved into a specific register. After the completion of execution that register can be checked for the success code to ensure the correctness of the design. Non-Self checking Constrained Application Random Stress Negative Random specific
  • 13. Non - Self Checking  Random Random cases cover all the possible combinations of data as well as scenarios in a random manner.  Constrained Random Constrained Random cases cover the all possible combinations of data as well as scenarios in a random manner, constrained for valid combinations.  Stress Stress cases exercise the logic with more number of combinations of scenarios as well as data for a long time to ensure the reliability of the design under stress conditions.
  • 14. Non - Self Checking  Negative Negative cases covers the scenarios which are not possible under normal cases. They are used to analyze the behavior of the design under error conditions.  Application Specific High level cases targeted for a particular application normally written in “C” language.
  • 15. Testbench Environment The testbench environment includes different types of environments to be developed for effectively verifying the design under verification. The testbench environments are of two types based on the testing strategies adopted. • Top Level • Block Level
  • 16. Top Level The top level testing includes the testing of the design as a whole and the stimulus forced in this case is the memory image generated from the assembly level or high level test files. Based on the requirement for the verification, there are three types of environments. Top Level Static Dynamic Coverage
  • 17.  Static Performs functional verification in a static manner using functional model. The results of DUT and model are dumped and compared for equivalence once the execution is over.  Dynamic Performs timing verification in a dynamic manner using the cycle accurate model. The results of DUT and model are compared for equivalence at each and every cycle dynamically.  Coverage The following are considered : • Line coverage • Branch coverage • FSM coverage
  • 18. Block Level Block level verification includes the verification of the different inner modules of the design for checking the scenarios which cannot be covered using the top level verification. It includes both static and dynamic environments and the stimuli in this case are inputs generated using tasks. The testbench provides different debugging options and also uses sentinels to ensure the error free flow of data.
  • 19. SystemVerilog Based Verification Environment Scoreboard Sequencer Sequencer Driver Monitor Monitor Driver DUT
  • 20. SystemVerilog Based Testbench Development  Sequencer Sequencer is an object that defines a set of transactions to be executed and controls the execution of other sequences.  Driver It is the component responsible for executing or processing transactions and provides stimuli to the design-under-test (DUT).  Monitor This block continuously monitors the DUT signals and bus functions.  Scoreboard Driver requests are transferred to the scoreboard via monitor block.
  • 21. Scoreboard components :  Functional Coverage Accumulation Functional coverage is a measure of which design features have been exercised by the tests.  Dynamic response checking mechanism The comparison of golden data with DUT data is performed dynamically. This block controls the overall verification environment such as reporting, violations and changing of the stimulus during run-time.  Reporting mechanism Compiler directives to issue messages throughout the simulation. (Error, Info, Warning)
  • 22. Integration,Simulation Integration Once the RTL coding is over, it is hooked up in the testbench environment and then the verification process can be started. Simulation Design is simulated using the simulation tool. Any error in the simulation triggers an error message which is dumped into an error log. TestSuite Regression / Coverage The Regression Environment is developed using perl and shell scripts, to automate the regression run.
  • 23. Bug Report Mechanism Bug reports are maintained in Google docs for all the projects in the verification phase. Once the bug is encountered it is updated in the bug report with detailed information. Status of the open bugs is updated regularly.