SlideShare a Scribd company logo
1 of 27
Download to read offline
INVENTIVE
Kanwar Pal Singh
Cadence Design Systems
Finding Bugs Faster with
Assertion Based Verification (ABV)
Agenda
• Assertion-Based Verification Introduction
• Assertion Languages
– SVA and PSL
– Language Standards
• ABV Tools and Methodology
– What does each tool do?
– How do these tools complement each other?
– Overall methodology
• Conclusion
2
Traditional Verification
• Verification typically is focused on:
– Providing stimulus to blocks or an entire design.
– Watching for a response.
– The stimulus is applied to top-level interfaces, the response is read back
from top-level interfaces.
• This is a form of black-box
verification.
3
Verification Environment
HDL
Assertion-Based Solution
• Verification objects are added to “interesting” points inside the
design.
• These verification objects
transform a “black-box”
verification, to a “white-box”
scenario
• The effort needed to create the “white-box” scenario:
– Makes verification more efficient
– Allows you to use additional technology for verification
4
Verification Environment
HDL
A
A
A
AA
A
A
A
What is an Assertion?
• Assertions are verification
objects that:
– Watch for forbidden
behavior within a design
block or on it’s interfaces
– Track expected behavior
documented in the
assertions
– Improvement upon $display,
$monitor and assert
statements
5
Verification Environment
HDL
A
A
A
AA
A
A
A
Assertion Example
6
A description out of the spec
“After interrupt is asserted, acknowledge must come”
intr
iack
0 1 2 3 4 5
always @(posedge intr)
begin
repeat (3) @(posedge clk);
fork: pos_pos
begin
@(posedge iack)
$display("Assertion Success",$time);
disable pos_pos;
end
begin
repeat (4) @(posedge clk);
$display("Assertion Failure",$time);
disable pos_pos;
end
join
end // always
PSL : // psl ackn_protocol : assert always
{ rose(intr)} |=> {[*2];iack }! @(posedge clk);
SVA : ackn_protocol : assert property (@(posedge clk)
$rose(intr) |=> ##2 iack);
Functional Verification With Assertions
• Improved observability
• Identifies errors where they
take place instead of at the
outputs
• Monitors behavior for all
vectors
• Improved controllability
• Improved coverage
• Verification starts sooner
7
Large
Design
Interface
Constraints and
Assertions
A
A
A
A
A
A A
A A
A
A
A A A
A AA
RTL
Assertions
Verification Environment
Assertion-based Verification
What are the High level Benefits?
• Reduced TTM
– Start verification sooner
– Significantly improve the debug time (documented customer
cases have shown up to 50% time savings)
• Facilitates verification reuse
– Preserve design knowledge within Assertions
• Same assertions can be used for simulation, formal
analysis, and acceleration
• Productivity gains – stable model reached quicker
– Coverage holes identified
8
What Are Assertions Used For?
• Assuring that the interface of the design is being exercised correctly
• Finding errors deep within the design
• Identifying hard-to-find corner cases
• Improving simulation tests with coverage analysis
– Identify holes in the set of tests
– Eliminate inefficient or redundant tests
9
What Aren’t Assertions Used For?
• Race conditions
• Timing checks
• Equivalence Checking
• Checking data transformation
• Code coverage
Linting
Static timing analysis
Formal equivalence checking
Simulation/Acceleration
Code coverage tool
10
Resources for Extracting Assertions
Domain Action to extract assertion
Specification Review specifications documents
and extract features
Port list Review functionality of all block
ports and extract features
Flow diagrams and waveform Review data and control flow
through block; extract features
Block functional characteristics Review block functional
characteristics; extract features
Team reviews Conduct team reviews to extract
additional features
11
Don’t worry about overlap, worry about holes
Agenda
• Assertion-Based Verification Introduction
• Assertion Languages
– SVA and PSL
– Language Standards
• ABV Tools and Methodology
– What does each tool do?
– How do these tools complement each other?
– Overall methodology
• Conclusion
12
PSL vs SVA
• THERE IS NO BAD CHOICE TO MAKE
– Besides some subtle differences, they are very similar
• Recommendations
– Pick a language as there is no need to learn both
– Have a verification environment that supports both
• It is quite likely that whatever you pick, you will run into IP
containing assertions of the other language
13
Recommended PSL and SVA Subset
14
Operators PSL SVA Notes
Sequence Delimiters
Consecutive Repetition: zero or more cycles
Consecutive Repetition: one or more cycles
Consecutive Repetition
Non-Consecutive Repetition
Sequence Concatenation (non-overlapping)
Signal Edge Detection
Previous Values of Signals
always
never
Boolean Liveness
interrupt
{...}
[*]
[+]
[*count] [*range]
[=count] [=range]
;
rose(), fell()
prev(sig, n)
always
never
eventually!
abort
not
disable iff
SVA is implicitly always by default
Boolean Overlapping Implication ->
Boolean Non-Overlapping Implication -> next Avoid nested “-> next”
(...)
[*0:$]
[*1:$]
[*count] [*range]
[*=count] [*=range]
##1
$rose(), $fell()
$past(sig, n)
Sequence Strong Interpretation ! SVA only has a strong form
SVA only has sequence form
Sequence Non-Overlapping Implication
Sequence Overlapping Implication
|=>
|->
|=>
|->
80% of assertions can be written with 20% of language
onehot, onehot0 $onehot, $onehot0Built-in Functions
Latest Language Standards
• 1800-2009 – IEEE standard for System Verilog--Unified
Hardware Design, Specification, and Verification
Language
– SVA is part of the standard and is covered in 2 chapters
• 1850-2010 – IEEE standard for Property Specification
Language (PSL)
15
Agenda
• Assertion-Based Verification Introduction
• Assertion Languages
– SVA and PSL
– Language Standards
• ABV Tools and Methodology
– What does each tool do?
– How do these tools complement each other?
– Overall methodology
• Conclusion
16
ABV Tools
17
Functional Coverage
• Assertions and cover directives measure
functional coverage for each test.
• Functional coverage from all tests is
combined into a report of the test suite’s
total functional coverage.
Simulation (Dynamic ABV)
• Assertions act as monitors during
simulation.
• Assertions can be used for interactive
debugging during simulation.
• Assertion activity indicates functional
coverage.
Assertion-Based Acceleration (ABA)
• Assertions helps isolate the cause of
failures
• Catch bugs that require long setup times
• Accumulate additional coverage
information
Formal Analysis
• Assertions define correct behavior and
legal inputs.
• Exhaustive analysis of all possible states
without a testbench.
• Improves productivity and quality.
Simulation + Assertions = Observability
• Once an Assertion is violated, a message appears in the
console:
– reports beginning: start time (when finished or failed is reported)
– reports length in terms of cycle (when finished or failed is reported)
– points to expression that was violated (when failed is reported)
– prints the assertion statement portion (when failed is reported)
// psl example: assert always {e;f;g} |=> {g; d | e; c};
|
ncsim: *E,ASRTST (./test.v,68): (time 500 NS) Assertion
test.inst1.example has failed (5 cycles, starting 440 NS)
• Assertions can generate transactions
18
Points out explicitly which
expression in a sequence
caused the failure
Static ABV + Assertions = Controllability
• Verification can start early without
a testbench
• Exhaustive verification with
counter example for failures
• Helps find corner case bugs
19
20
Simulation (Dynamic ABV)
• Depends on quality of testbench
• Follows specific paths
• Limited controllability
• Applicable later in design cycle
Formal Analysis (Static ABV)
• No testbench needed – can use earlier
• Few depths typically equivalent to
millions of simulation vectors
• Limited by state space explosion
• Explored Depth
– Uncovers local corner case bugs
– Reports verification proof radius
Reachable
State Space
x
x
x
x
x
x
x
x
x
x
Bugs triggered
with simulation
Starting
State Point
The Difference Between Dynamic and Static
• Exhaustive
– Uncovers all possible bugs
x
x
xx
x
x
Assertion-based Acceleration (ABA)
• Assertion support in the acceleration adds observability with performance
– Enables exposing design problems quicker and reducing debug times
– Enables assertion firings from ‘long’ runs not viable in a simulation only
environment
• Supports same set of design files as simulation
• Executes long simulation runs much quicker
– Enables System level simulation with assertions
– Enables software bring-up with assertions
21
Functional Coverage
22
•Formal AnalysisA
A
A
A
A
A
A
A
Module / Block
•Formal Analysis
•Simulation
A
A
A
A
A
A
A
AA A
A
A
A
A
A A
A
A
A
AA
Integrated Blocks
•Simulation
•HW Acceleration
•Emulation A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A A
A
A
A
A
A
A
AA
A
A
A
A
A
A A
A
A
AA
Top-level Integrated Design
Aggregated
Coverage
Total
Coverage
Metrics
Plan
ABV Methodology Recap
July 8, 2011 Cadence Confidential: Cadence Internal Use Only23
Coverage
Metrics
Spec
Plan
Unified Metrics
Aggregated
Coverage
&
Checking
Leverage assertions as checks for feature validation throughout
the entire verification process
Verification
Engineers
Designers
Engineers
Agenda
• Assertion-Based Verification Introduction
• Assertion Languages
– SVA and PSL
– Language Standards
• ABV Tools and Methodology
– What does each tool do?
– How do these tools complement each other?
– Overall methodology
• Conclusion
24
Conclusion (1)
• An ABV methodology
– Begins with planning
– Spans the entire verification process from module to system
– Includes formal, simulation, and emulation/acceleration
– Is maximized by the integration of metrics from numerous
environments
– Is independent of language
25
Conclusion (2)
• An ABV methodology
provides
– Productivity
• Removes duplication of
effort between designer and
verification engineer
• Encourages reuse
– Quality
• Executable specification
• Formal exhaustiveness
• Methodology focused on
checking in addition to
coverage
26
Traditional Flow
RTL RTL
Block / Module Cluster / Block Full Chip
RTL RTLRTLRTL
Simulation Simulation
HW-based
Simulation
Testbench
Stimuli
Formal Analysis
Potential limited use
Confidence
Time
95+%
Done
Sim & HW
+ some formal
Limited sanity sim
Incisive
Formal
Verifier
Incisive
Formal
Verifier
HW-based
Simulation
Testbench
Stimuli
Targeted use
Simulation
Incisive
Formal
Verifier
New Done
TTM Gains
Original
Done
Enhanced Flow
Incisive
Unified
Simulator
Incisive
Unified
Simulator
Assertion-Based
Acceleration
How ABV Tools and Techniques Help Improve Verification Efficiency

More Related Content

What's hot

UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register PackageDVClub
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_featuresNirav Desai
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog Ramdas Mozhikunnath
 
Verification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICsVerification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICsDr. Shivananda Koteshwar
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Usha Mehta
 
Introduction to System verilog
Introduction to System verilog Introduction to System verilog
Introduction to System verilog Pushpa Yakkala
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertionsHARINATH REDDY
 
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
 
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
 
01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swethaswethamg18
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
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
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020Sameh El-Ashry
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic SequencesArrow Devices
 
6 verification tools
6 verification tools6 verification tools
6 verification toolsUsha Mehta
 
Dft (design for testability)
Dft (design for testability)Dft (design for testability)
Dft (design for testability)shaik sharief
 

What's hot (20)

UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_features
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
 
Verification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICsVerification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICs
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
 
Introduction to System verilog
Introduction to System verilog Introduction to System verilog
Introduction to System verilog
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
 
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
 
01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
system verilog
system verilogsystem verilog
system verilog
 
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
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
Ral by pushpa
Ral by pushpa Ral by pushpa
Ral by pushpa
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic Sequences
 
6 verification tools
6 verification tools6 verification tools
6 verification tools
 
Dft (design for testability)
Dft (design for testability)Dft (design for testability)
Dft (design for testability)
 

Viewers also liked

Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverageNirav Desai
 
Функциональная верификация HDL-кода
Функциональная верификация HDL-кодаФункциональная верификация HDL-кода
Функциональная верификация HDL-кодаSQALab
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coveragerraimi
 
Elementsof anargument ppt
Elementsof anargument pptElementsof anargument ppt
Elementsof anargument ppthiw0758
 
Gs Us Roadmap For A World Class Information Security Management System– Isoie...
Gs Us Roadmap For A World Class Information Security Management System– Isoie...Gs Us Roadmap For A World Class Information Security Management System– Isoie...
Gs Us Roadmap For A World Class Information Security Management System– Isoie...Tammy Clark
 
BT Global Services - Our approach to Innovation
BT Global Services - Our approach to InnovationBT Global Services - Our approach to Innovation
BT Global Services - Our approach to InnovationGrace Kermani
 
Tma World Viewpoint: Building Global Alignment Through Enterprise Wide Learning
Tma World Viewpoint: Building Global Alignment Through Enterprise Wide LearningTma World Viewpoint: Building Global Alignment Through Enterprise Wide Learning
Tma World Viewpoint: Building Global Alignment Through Enterprise Wide LearningTMA World
 
Logos -toulmin
Logos -toulminLogos -toulmin
Logos -toulminnstearns
 
Diet or product claim%2 c science as a wok
Diet or product claim%2 c science as a wokDiet or product claim%2 c science as a wok
Diet or product claim%2 c science as a wokRomy Friedman
 
System Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLSystem Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLE2MATRIX
 
Code Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCoCode Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCoEvgeny Mandrikov
 
Roadmap to world class safety for
Roadmap to world class safety for Roadmap to world class safety for
Roadmap to world class safety for vinuvinu
 
Code coverage analysis in testing
Code coverage analysis in testingCode coverage analysis in testing
Code coverage analysis in testingNi
 
Code coverage & tools
Code coverage & toolsCode coverage & tools
Code coverage & toolsRajesh Kumar
 
Road map to safety ppt
Road map to safety pptRoad map to safety ppt
Road map to safety pptDoug Crann
 
Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)
Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)
Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)TkXel
 

Viewers also liked (20)

Session 7 code_functional_coverage
Session 7 code_functional_coverageSession 7 code_functional_coverage
Session 7 code_functional_coverage
 
Функциональная верификация HDL-кода
Функциональная верификация HDL-кодаФункциональная верификация HDL-кода
Функциональная верификация HDL-кода
 
Doulos coverage-tips-tricks
Doulos coverage-tips-tricksDoulos coverage-tips-tricks
Doulos coverage-tips-tricks
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coverage
 
Elementsof anargument ppt
Elementsof anargument pptElementsof anargument ppt
Elementsof anargument ppt
 
Gs Us Roadmap For A World Class Information Security Management System– Isoie...
Gs Us Roadmap For A World Class Information Security Management System– Isoie...Gs Us Roadmap For A World Class Information Security Management System– Isoie...
Gs Us Roadmap For A World Class Information Security Management System– Isoie...
 
BT Global Services - Our approach to Innovation
BT Global Services - Our approach to InnovationBT Global Services - Our approach to Innovation
BT Global Services - Our approach to Innovation
 
Tma World Viewpoint: Building Global Alignment Through Enterprise Wide Learning
Tma World Viewpoint: Building Global Alignment Through Enterprise Wide LearningTma World Viewpoint: Building Global Alignment Through Enterprise Wide Learning
Tma World Viewpoint: Building Global Alignment Through Enterprise Wide Learning
 
Logos -toulmin
Logos -toulminLogos -toulmin
Logos -toulmin
 
Diet or product claim%2 c science as a wok
Diet or product claim%2 c science as a wokDiet or product claim%2 c science as a wok
Diet or product claim%2 c science as a wok
 
Pragmatic Code Coverage
Pragmatic Code CoveragePragmatic Code Coverage
Pragmatic Code Coverage
 
System Verilog Tutorial - VHDL
System Verilog Tutorial - VHDLSystem Verilog Tutorial - VHDL
System Verilog Tutorial - VHDL
 
Code Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCoCode Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCo
 
Roadmap to world class safety for
Roadmap to world class safety for Roadmap to world class safety for
Roadmap to world class safety for
 
Code coverage analysis in testing
Code coverage analysis in testingCode coverage analysis in testing
Code coverage analysis in testing
 
Code coverage & tools
Code coverage & toolsCode coverage & tools
Code coverage & tools
 
Road map to safety ppt
Road map to safety pptRoad map to safety ppt
Road map to safety ppt
 
Code coverage
Code coverageCode coverage
Code coverage
 
Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)
Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)
Enterprise Mobility - Strong Mobile Strategy (7 steps to get you started)
 
Code Coverage
Code CoverageCode Coverage
Code Coverage
 

Similar to How ABV Tools and Techniques Help Improve Verification Efficiency

Dealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDVClub
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfFarjanaParvin5
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignGeorgina Tilby
 
Risk based testing and random testing
Risk based testing and random testingRisk based testing and random testing
Risk based testing and random testingHimanshu
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
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
 
Software testing part
Software testing partSoftware testing part
Software testing partPreeti Mishra
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expertgaoliang641
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssmssmarar
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013Raluca Suditu
 
Software Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet SolutionSoftware Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet SolutionMazenetsolution
 

Similar to How ABV Tools and Techniques Help Improve Verification Efficiency (20)

Sva.pdf
Sva.pdfSva.pdf
Sva.pdf
 
Dealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in Verification
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
Dill may-2008
Dill may-2008Dill may-2008
Dill may-2008
 
Risk based testing and random testing
Risk based testing and random testingRisk based testing and random testing
Risk based testing and random testing
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
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
 
11 whiteboxtesting
11 whiteboxtesting11 whiteboxtesting
11 whiteboxtesting
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Lecture 21
Lecture 21Lecture 21
Lecture 21
 
Introduction to White box testing
Introduction to White box testingIntroduction to White box testing
Introduction to White box testing
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013
 
Software Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet SolutionSoftware Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet Solution
 

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

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

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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 

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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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
 
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?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 

How ABV Tools and Techniques Help Improve Verification Efficiency

  • 1. INVENTIVE Kanwar Pal Singh Cadence Design Systems Finding Bugs Faster with Assertion Based Verification (ABV)
  • 2. Agenda • Assertion-Based Verification Introduction • Assertion Languages – SVA and PSL – Language Standards • ABV Tools and Methodology – What does each tool do? – How do these tools complement each other? – Overall methodology • Conclusion 2
  • 3. Traditional Verification • Verification typically is focused on: – Providing stimulus to blocks or an entire design. – Watching for a response. – The stimulus is applied to top-level interfaces, the response is read back from top-level interfaces. • This is a form of black-box verification. 3 Verification Environment HDL
  • 4. Assertion-Based Solution • Verification objects are added to “interesting” points inside the design. • These verification objects transform a “black-box” verification, to a “white-box” scenario • The effort needed to create the “white-box” scenario: – Makes verification more efficient – Allows you to use additional technology for verification 4 Verification Environment HDL A A A AA A A A
  • 5. What is an Assertion? • Assertions are verification objects that: – Watch for forbidden behavior within a design block or on it’s interfaces – Track expected behavior documented in the assertions – Improvement upon $display, $monitor and assert statements 5 Verification Environment HDL A A A AA A A A
  • 6. Assertion Example 6 A description out of the spec “After interrupt is asserted, acknowledge must come” intr iack 0 1 2 3 4 5 always @(posedge intr) begin repeat (3) @(posedge clk); fork: pos_pos begin @(posedge iack) $display("Assertion Success",$time); disable pos_pos; end begin repeat (4) @(posedge clk); $display("Assertion Failure",$time); disable pos_pos; end join end // always PSL : // psl ackn_protocol : assert always { rose(intr)} |=> {[*2];iack }! @(posedge clk); SVA : ackn_protocol : assert property (@(posedge clk) $rose(intr) |=> ##2 iack);
  • 7. Functional Verification With Assertions • Improved observability • Identifies errors where they take place instead of at the outputs • Monitors behavior for all vectors • Improved controllability • Improved coverage • Verification starts sooner 7 Large Design Interface Constraints and Assertions A A A A A A A A A A A A A A A AA RTL Assertions Verification Environment
  • 8. Assertion-based Verification What are the High level Benefits? • Reduced TTM – Start verification sooner – Significantly improve the debug time (documented customer cases have shown up to 50% time savings) • Facilitates verification reuse – Preserve design knowledge within Assertions • Same assertions can be used for simulation, formal analysis, and acceleration • Productivity gains – stable model reached quicker – Coverage holes identified 8
  • 9. What Are Assertions Used For? • Assuring that the interface of the design is being exercised correctly • Finding errors deep within the design • Identifying hard-to-find corner cases • Improving simulation tests with coverage analysis – Identify holes in the set of tests – Eliminate inefficient or redundant tests 9
  • 10. What Aren’t Assertions Used For? • Race conditions • Timing checks • Equivalence Checking • Checking data transformation • Code coverage Linting Static timing analysis Formal equivalence checking Simulation/Acceleration Code coverage tool 10
  • 11. Resources for Extracting Assertions Domain Action to extract assertion Specification Review specifications documents and extract features Port list Review functionality of all block ports and extract features Flow diagrams and waveform Review data and control flow through block; extract features Block functional characteristics Review block functional characteristics; extract features Team reviews Conduct team reviews to extract additional features 11 Don’t worry about overlap, worry about holes
  • 12. Agenda • Assertion-Based Verification Introduction • Assertion Languages – SVA and PSL – Language Standards • ABV Tools and Methodology – What does each tool do? – How do these tools complement each other? – Overall methodology • Conclusion 12
  • 13. PSL vs SVA • THERE IS NO BAD CHOICE TO MAKE – Besides some subtle differences, they are very similar • Recommendations – Pick a language as there is no need to learn both – Have a verification environment that supports both • It is quite likely that whatever you pick, you will run into IP containing assertions of the other language 13
  • 14. Recommended PSL and SVA Subset 14 Operators PSL SVA Notes Sequence Delimiters Consecutive Repetition: zero or more cycles Consecutive Repetition: one or more cycles Consecutive Repetition Non-Consecutive Repetition Sequence Concatenation (non-overlapping) Signal Edge Detection Previous Values of Signals always never Boolean Liveness interrupt {...} [*] [+] [*count] [*range] [=count] [=range] ; rose(), fell() prev(sig, n) always never eventually! abort not disable iff SVA is implicitly always by default Boolean Overlapping Implication -> Boolean Non-Overlapping Implication -> next Avoid nested “-> next” (...) [*0:$] [*1:$] [*count] [*range] [*=count] [*=range] ##1 $rose(), $fell() $past(sig, n) Sequence Strong Interpretation ! SVA only has a strong form SVA only has sequence form Sequence Non-Overlapping Implication Sequence Overlapping Implication |=> |-> |=> |-> 80% of assertions can be written with 20% of language onehot, onehot0 $onehot, $onehot0Built-in Functions
  • 15. Latest Language Standards • 1800-2009 – IEEE standard for System Verilog--Unified Hardware Design, Specification, and Verification Language – SVA is part of the standard and is covered in 2 chapters • 1850-2010 – IEEE standard for Property Specification Language (PSL) 15
  • 16. Agenda • Assertion-Based Verification Introduction • Assertion Languages – SVA and PSL – Language Standards • ABV Tools and Methodology – What does each tool do? – How do these tools complement each other? – Overall methodology • Conclusion 16
  • 17. ABV Tools 17 Functional Coverage • Assertions and cover directives measure functional coverage for each test. • Functional coverage from all tests is combined into a report of the test suite’s total functional coverage. Simulation (Dynamic ABV) • Assertions act as monitors during simulation. • Assertions can be used for interactive debugging during simulation. • Assertion activity indicates functional coverage. Assertion-Based Acceleration (ABA) • Assertions helps isolate the cause of failures • Catch bugs that require long setup times • Accumulate additional coverage information Formal Analysis • Assertions define correct behavior and legal inputs. • Exhaustive analysis of all possible states without a testbench. • Improves productivity and quality.
  • 18. Simulation + Assertions = Observability • Once an Assertion is violated, a message appears in the console: – reports beginning: start time (when finished or failed is reported) – reports length in terms of cycle (when finished or failed is reported) – points to expression that was violated (when failed is reported) – prints the assertion statement portion (when failed is reported) // psl example: assert always {e;f;g} |=> {g; d | e; c}; | ncsim: *E,ASRTST (./test.v,68): (time 500 NS) Assertion test.inst1.example has failed (5 cycles, starting 440 NS) • Assertions can generate transactions 18 Points out explicitly which expression in a sequence caused the failure
  • 19. Static ABV + Assertions = Controllability • Verification can start early without a testbench • Exhaustive verification with counter example for failures • Helps find corner case bugs 19
  • 20. 20 Simulation (Dynamic ABV) • Depends on quality of testbench • Follows specific paths • Limited controllability • Applicable later in design cycle Formal Analysis (Static ABV) • No testbench needed – can use earlier • Few depths typically equivalent to millions of simulation vectors • Limited by state space explosion • Explored Depth – Uncovers local corner case bugs – Reports verification proof radius Reachable State Space x x x x x x x x x x Bugs triggered with simulation Starting State Point The Difference Between Dynamic and Static • Exhaustive – Uncovers all possible bugs x x xx x x
  • 21. Assertion-based Acceleration (ABA) • Assertion support in the acceleration adds observability with performance – Enables exposing design problems quicker and reducing debug times – Enables assertion firings from ‘long’ runs not viable in a simulation only environment • Supports same set of design files as simulation • Executes long simulation runs much quicker – Enables System level simulation with assertions – Enables software bring-up with assertions 21
  • 22. Functional Coverage 22 •Formal AnalysisA A A A A A A A Module / Block •Formal Analysis •Simulation A A A A A A A AA A A A A A A A A A A AA Integrated Blocks •Simulation •HW Acceleration •Emulation A A A A A A A A A A A A A A A A A A A A A A A A A A A A A AA A A A A A A A A A AA Top-level Integrated Design Aggregated Coverage Total Coverage Metrics Plan
  • 23. ABV Methodology Recap July 8, 2011 Cadence Confidential: Cadence Internal Use Only23 Coverage Metrics Spec Plan Unified Metrics Aggregated Coverage & Checking Leverage assertions as checks for feature validation throughout the entire verification process Verification Engineers Designers Engineers
  • 24. Agenda • Assertion-Based Verification Introduction • Assertion Languages – SVA and PSL – Language Standards • ABV Tools and Methodology – What does each tool do? – How do these tools complement each other? – Overall methodology • Conclusion 24
  • 25. Conclusion (1) • An ABV methodology – Begins with planning – Spans the entire verification process from module to system – Includes formal, simulation, and emulation/acceleration – Is maximized by the integration of metrics from numerous environments – Is independent of language 25
  • 26. Conclusion (2) • An ABV methodology provides – Productivity • Removes duplication of effort between designer and verification engineer • Encourages reuse – Quality • Executable specification • Formal exhaustiveness • Methodology focused on checking in addition to coverage 26 Traditional Flow RTL RTL Block / Module Cluster / Block Full Chip RTL RTLRTLRTL Simulation Simulation HW-based Simulation Testbench Stimuli Formal Analysis Potential limited use Confidence Time 95+% Done Sim & HW + some formal Limited sanity sim Incisive Formal Verifier Incisive Formal Verifier HW-based Simulation Testbench Stimuli Targeted use Simulation Incisive Formal Verifier New Done TTM Gains Original Done Enhanced Flow Incisive Unified Simulator Incisive Unified Simulator Assertion-Based Acceleration