SlideShare a Scribd company logo
1 of 41
Download to read offline
Is it time to declare a
verification war?

Brian Bailey
Email: brian_bailey@acm.org
Tel: 503 632 7448
Cell: 503 753 6040
Web: brianbailey.us
In the beginning
                           • The year app. 500 BC
                           • Sun Tzu published “on
                             the art of war”
                             孫子兵法
                           • Since then it has been
                             used for
                                 –   Military strategies
                                 –   Political
                                 –   Business
                                 –   Anything requiring
                                     tactics


          Copyright © 2008 Brian Bailey Consulting         2
Why was it so important
• Sun Tzu was the first to recognize the importance of
  positioning in strategy and that position is affected
  both by:
   – objective conditions in the physical environment
   – subjective opinions of competitive actors in that environment

                             • He taught that strategy was
                               not a to do list
                                  – requires quick and appropriate
                                    responses to changing conditions


                             • Begins to sound like
                               verification
                                  – Can we learn from Sun Tzu?


                    Copyright © 2008 Brian Bailey Consulting           3
Who is the Enemy?
         • When thinking about verification,
           the battle is being fought against
           Murphy the Design
            – Murphy is powerful and indiscriminate
            – He will show up anywhere and attempt
              to cause the maximum damage
            – He is also indestructible
            – Kill him and he shows up somewhere
              else
            – Is it possible to know he is dead – no we
              know he will never die
         • Why then do we bother fighting?
            – Because we are the verification heroes!



         Copyright © 2008 Brian Bailey Consulting         4
Sun Tzu’s 13 Chapters
1.    Laying Plans explores the five key elements that define competitive position (mission, climate, ground,
      leadership, and methods) and how to evaluate your competitive strengths against your competition.
2.    Waging War explains how to understand the economic nature of competition and how success requires making
      the winning play, which in turn, requires limiting the cost of competition and conflict.
3.    Attack by Stratagem defines the source of strength as unity, not size, and the five ingredients that you
      need to succeed in any competitive situation.
4.    Tactical Dispositions explains the importance of defending existing positions until you can advance them
      and how you must recognize opportunities, not try to create them.
5.    Energy explains the use of creativity and timing in building your competitive momentum.
6.    Weak Points & Strong explains how your opportunities come from the openings in the environment
      caused by the relative weakness of your competitors in a given area.
7.    Maneuvering explains the dangers of direct conflict and how to win those confrontations when they are forced
      upon you.
8.    Variation in Tactics focuses on the need for flexibility in your responses. It explains how to respond to
      shifting circumstances successfully.
9.    The Army on the March describes the different situations in which you find yourselves as you move into
      new competitive arenas and how to respond to them. Much of it focuses on evaluating the intentions of others.
10.   Terrain looks at the three general areas of resistance (distance, dangers, and barriers) and the six types of
      ground positions that arise from them. Each of these six field positions offer certain advantages and disadvantages.
11.   The Nine Situations describe nine common situations (or stages) in a competitive campaign, from scattering
      to deadly, and the specific focus you need to successfully navigate each of them.
12.   The Attack by Fire explains the use of weapons generally and the use of the environment as a weapon
      specifically. It examines the five targets for attack, the five types of environmental attack, and the appropriate
      responses to such attack.
13.   The Use of Spies focuses on the importance of developing good information sources, specifically the five
      types of sources and how to manage them.




                                     Copyright © 2008 Brian Bailey Consulting                                                5
The Key Essence
• Know the enemy
  – Understand the design and the best ways to
    approach the verification challenge
• Know yourself
  – Understand (and improve) the process
  – Understand its strengths and weaknesses
• Prepare yourself
  – Make sure the tools you use are those most likely
    to lead to success
  – Be flexible in the way that you use them
• Use feedback
  – Based on objective observations
                Copyright © 2008 Brian Bailey Consulting   6
Outline
• Know yourself
  – I am going to revisit some fundamentals of
    verification that many forget
  – Take a look at coverage metrics
  – Primarily for the people newer to verification
     • Also a good reminder to more seasoned amongst us
• Arm yourself with the best weapons
  – Some recent tools that help
     • Make verification more objective
     • Raise the level of abstraction
     • Preserve and use knowledge




                  Copyright © 2008 Brian Bailey Consulting   7
Verification definition
   "Confirmation by examination and provisions of
     objective evidence that specified requirements
     have been fulfilled."
                                           IEEE Definition of verification.




    Verification is all about answering the question:

      Have we implemented something correctly ?




                  Copyright © 2008 Brian Bailey Consulting                    8
Verification definition
• 4 Key phrases
  – Confirmation by examination
     • If you don’t look, then there is no hope of finding
       incorrect behavior
  – provisions of objective evidence
     • Requires a second independent model of functionality
  – specified requirements
     • This introduces the needs for coverage to ensure the
       right things have been verified
  – have been fulfilled
     • Requires an act of verification to be associated with a
       coverage measurement




                   Copyright © 2008 Brian Bailey Consulting      9
Verification fundamentals

                             Propagation success

                              Bug
                                                                                  Checker
   Stimulus
                                                     2. Propagate                3. Detect
                         1. Activate

                    Design

                                   Propagation failure
Remember: If you don’t look it hasn’t been verified
              If it hasn’t been verified against something objective, then it isn’t trustworthy

                              Only place this happens is in the checker
                               Copyright © 2008 Brian Bailey Consulting                           10
Fundamentals - Coverage
• The extent or degree to which something is
  observed, analyzed, and reported.
                                                             thefreedictionary.com

  – High coverage does not imply high quality
    • With the metrics that are in use today
  – While coverage metrics are objective (the
    information they provide is impassionate)
    • The decision about which to apply is subjective
    • The analysis of results is often subjective
    • Most coverage metrics do not provide “Confirmation by
      examination and provisions of objective evidence”
       – This include code coverage, functional coverage and almost
         all other metrics in use



                  Copyright © 2008 Brian Bailey Consulting                           11
Structural Metrics
• These metrics are automatically extracted
  from the implementation source
    Easy to implement
    Cannot identify what is missing
• They tell you that something was ‘reached’
  – A line of code
  – A decision point
  – A state
  They do not tell you that it was reached for
 the right reason
  They do not tell you that the right thing
 happened after that

                Copyright © 2008 Brian Bailey Consulting   12
Structural Coverage

                Propagation success

                    Bug
                                                               Checker
Stimulus
              1. Activate

           Design

                        Propagation failure




                    Copyright © 2008 Brian Bailey Consulting             13
Structural Coverage

             Propagation success

                 Bug
         Shows if you have reached Checker
      every point in the implementation
Stimulus
           1.where a bug may be
             Activate

        Design
     Does not show you that the
             Propagation failure
     bug would have been detected

   Coverage != Verification
                 Copyright © 2008 Brian Bailey Consulting   14
Structural metrics
• Path coverage
    This is the set of all combinations of all branches
    It identifies exhaustive execution of a model
    Still cannot identify missing functionality
    Expensive computationally
  – Limited path sets have been defined but not in use
    Does not identify data errors that do not affect
    control
     • Would not have identified Intel FP bug since this was
       related to values in a ROM




                  Copyright © 2008 Brian Bailey Consulting     15
Path Coverage

                Propagation success

                    Bug
                                                               Checker
Stimulus
                                         2. Propagate
              1. Activate

           Design

                        Propagation failure




                    Copyright © 2008 Brian Bailey Consulting             16
Path Coverage

                 Propagation success

                     Bug
                                                                Checker
Stimulus
      Shows if you havePropagate
                        2. executed all
           1. Activate
    possible paths in the implementation
            Design
           Does notPropagation failure the
                    show you that
           bug would have been detected


                     Copyright © 2008 Brian Bailey Consulting             17
Structural coverage – dirty word
• When did structural coverage become a dirty
  word?
  – Directed tests target specific functionality
  – structural coverage was an impartial way to identify holes
• Along came constrained/pseudo-random
  generation
  – No longer targeting specific functionality
  – Needed a way to ensure important functionality was
    executed
• Thus functional coverage was born
  – There is nothing wrong with structural coverage coupled to
    directed testing
     • Unless used irresponsibly
     • Becoming less useful with increased concurrency

                   Copyright © 2008 Brian Bailey Consulting      18
Functional Coverage
• Identifies indicators of functionality
  –   A data value
  –   A specific state
  –   A sequence of states
  –   etc
  It does not identify that the functionality is
  correct
  – Still expects that the comparison of two models is
    happening
  – Suffers from some of the same problems as code
    coverage


                  Copyright © 2008 Brian Bailey Consulting   19
Functional coverage
• It is a third independent model
  – Does not define the correct behaviors, just the behaviors
    that should be detectable
  – Different language
     • Good and bad
    No way to define completion
     • Implementation is subjective
     • Closest theoretical model is path coverage
         – Expensive in terms of execution time

• Higher cost than structural coverage
     An extra model to define
     Slows down simulator
     Analysis of holes is easier

Functional Coverage != Verification
                     Copyright © 2008 Brian Bailey Consulting   20
Adding Propagation
• Path Coverage
  – Already talked about this
• OCCOM    (Observability-based Code COverage Metrics )
  – Srinivas Devadas Abhijit Ghosh Kurt Keutzer – DAC 1998
  – Computes the probability that an effect of the
    fault would be propagated
  – During normal simulation – variables are tagged
     • Positive and negative tags are used
  – In a post processing step, these tags are used to
    compute the probabilities of propagation




                  Copyright © 2008 Brian Bailey Consulting   21
OCCOM results




• Notes:
  – Shows the problems with coupling code coverage
    and random techniques
  – Shows that people creating directed tests
    consider propagation
     • This is a flaw with random methods
  – Some of the new intelligent testbench tools will
    make this a lot worse
                  Copyright © 2008 Brian Bailey Consulting   22
Summary of coverage methods

             Cost to     Cost to     Imp or     Completion     Objective   Benefits   Analysis
             implement   execute     spec



Code           Low         Low         Imp          Low           Yes        Low      Difficult

Path           Low         Low         Imp         High           Yes       High      Moderate

Toggle         Low         Low         Imp       Medium           Yes      Medium     Moderate


Functional   Medium      Medium       Spec           ?*               No   Medium       Easy

Assertion      High       High        Spec           ?*               No    High      Difficult



       * No direct way to measure today


                           Copyright © 2008 Brian Bailey Consulting                               23
Arm yourself with the best weapons
• A look at some new technologies

  – Active IP product from Jasper
  – Raising abstraction with Calypto
  – Functional Qualification from Certess




                Copyright © 2008 Brian Bailey Consulting   24
Using the right weapon
• We have a number of different products in
  the verification portfolio
  – Each have very different characteristics
  – Each have different areas where they can excel
  – They also have weaknesses
• Need to carefully match the tool to the
  situation
  – Verification planning helps in this regard
  – Requires thought upfront




                Copyright © 2008 Brian Bailey Consulting   25
Thinking slightly differently
• But it is not just the application of the tools
  – It is also the application of technology to make
    tools
  – For years formal methods were used to make
    formal verification tools
     • Seems obvious, but limited usefulness
     • Capacity constraints etc
  – Started to target technology to fit the problem
     • Bounded model checking
     • Semi-formal verification
     • Application of abstractions
  – Look for completely different applications
     • This is what I really wanted to talk about, but could not
       get permission from the company


                  Copyright © 2008 Brian Bailey Consulting         26
Another example
• Intelligent testbenches
  – Two primary types
     • Graph based
     • Simulation based
  – Graph based ones basically create a formal model
    of the system and use it to create stimulus paths
    that in turn exercise the design
  – Simulation based ones “learn” as they simulate so
    that they can get to an “objective” faster
  – Neither type of company wants to be called
    “formal” – but they both employ formal
    technologies


                 Copyright © 2008 Brian Bailey Consulting   27
Raising the abstraction
• Just as combinatorial equivalence checking
  allowed us to move from gate to RTL
  verification
  – Sequential equivalence checking will allow a
    migration to higher levels of abstraction
    • Higher simulation speeds
    • Enable longer runs
    • Use real scenarios (live data)




                  Copyright © 2008 Brian Bailey Consulting   28
Uses for SEC
• Untimed input in C/C++/SystemC
  – Ensure hand coded RTL functionally matches
• Synthesis verification
  – Ensure constraints, setup and options produced a
    valid result
• Power optimization
  – Clock gating
  – Power optimizations




               Copyright © 2008 Brian Bailey Consulting   29
A simple example
Always @ (posedge CLK) begin
  Out = A + B + C
end


          A       B       C                        A B C

              +

                                                         +
                      +

                                             CLK
  CLK

              Out                                            Out




                          Copyright © 2008 Brian Bailey Consulting   30
Commercialization
• Large pool of researchers
  – Shares many technologies with property checking
• Internally generated tools
  – IBM
• Esterel Studio – 2007
  – Only within Esterel environment
• Calypto introduced SLEC at DAC 2005
  – Enables retimed RTL to be verified
  – Untimed to timed functional equivalency
  – Integrated with Mentor, Forte, Cadence synthesis
    products


               Copyright © 2008 Brian Bailey Consulting   31
Mutation Analysis
• Similar to manufacturing test
  – Looks for a change in values seen on an output
  – Stuck-at faults: what fault model is the equivalent
    for designer errors?
     • Mutation fault model based on two hypotheses:
        – that programmers or engineers write code that is close to
          being correct
        – that a test that distinguishes the good version from all its
          mutants is also sensitive to more complex errors
  – Potentially huge number of faults
• Concept introduced in 1971
  – First tool implementation in 1980



                   Copyright © 2008 Brian Bailey Consulting              32
Mutation analysis
• Performs complete stimulate and propagate
  analysis
  – Addresses --
     • If you don’t look it hasn’t been verified
  – But not –
     • If it hasn’t been verified against something objective,
       then it isn’t trustworthy
• This is the same as manufacturing test
  – It is not good enough to know that something
    was different
  – Must be able to detect that it was in error



                   Copyright © 2008 Brian Bailey Consulting      33
Functional Qualification
• Based on mutation analysis
• Several differences:
  – Functional Qualification includes the detection
    phase. For a fault to be detected there must be a
    check made so that at least one testcase fails
  – Functional qualification does not depend on
    propagation to a primary output. Directly supports
    white box assertions
  – Uses very different fault injections schemes to
    provide relevant results faster
  – Applied to hardware instead of software



                Copyright © 2008 Brian Bailey Consulting   34
Some other differences
• For SW, mutation analysis was used to “cover” the
  program
• Functional qualification is being used as a quality
  measure for the testbench
   – First time verification engineers have a tool that allows
     them to objectively measure themselves
• Statistical in nature
   –   Technology advancements to improve performance
   –   Do not have to run all faults or all testcases
   –   Stop as soon as a testbench flaw has been revealed
   –   Tackle the difficult problems first, and let the easy ones take
       case of themselves




                      Copyright © 2008 Brian Bailey Consulting           35
Certitude Metrics - ST References
    Global Metric
          Representing the overall quality of the Verification Environment
          ST reference : 75%, but usually higher
    Activation Score
          Measures the ability of the test suite to exercise all the RTL of the
          IP
          Similar to code coverage
          ST reference : 95%, & 100% explained
          Missing % should deeply studied & fixed or explained
    Propagation Score
          Measures the ability of the test suite to propagate mutations to the
          outputs of the IP
          ST reference : 80%, but should probably be enhanced by adding
          more test scenarios to reach 90%
    Detection Score
          Measures the ability of the environment to catch errors
          ST reference : 90%, but usually higher
DAC’2008 - Anaheim               Elevating Confidence in Design IP      36
Case study 1 : 3rd Party - IP qualification
    •    Case study 1:                                              Activation Score (A/F)
             •    Application: 3rd party IP                             95%
                                                                                                         IP            ST Ref ST Avg 3rd Party IP
                                                                                             Activation Score (A/F)       95%    97%         97%
             •    HDL Directed Environment                              90%                  Propagation Score (P/A)     80%     90%         80%
                                                                        85%                  Global Metric (D/F)          75%    80%         66%
             •    ~300 tests, 30 minutes                                80%                  Detection Score (D/P)        90%    93%         85%
                                                                        75%
             •    Code Coverage ~100%                                   70%
                                                                        65%
                                 Detection Score (D/P)                  60%                              Propagation Score (P/A)

•       Challenges
                                                                                                            ST Ref
         •       Convince 3rd Party IP provider
                                                                                                            ST Avg
         •       High revenue, high visibility chip;                                                        3rd Party IP

                 reduce respin risk
                                                                     Global Metric (D/F)



    •    Results
             •    Helped us to push IP provider to improve verification environment
                  • and monitor progress
             •    Low detection score highlighted manual waveform checks

        DAC’2008 - Anaheim                               Elevating Confidence in Design IP                                         37
Update from Haifa
• Panel session: Coverage Metrics across the
  Verification Domain
  – Participants from SW, HW, industry, tool vendor,
    academia, dynamic and formal
  – 3 out of 6 panelists identified mutation analysis as
    a key enabler
  – Holds promise as a way to make coverage
    objective
  – Holds promise as a way to integrate formal and
    dynamic methods




                Copyright © 2008 Brian Bailey Consulting   38
Is it “The Art of Verification”




           Copyright © 2008 Brian Bailey Consulting   39
Verification is Not Art
• We denigrate ourselves by calling it
• While we have not yet formalized and
  perfected the philosophy of verification
  – We do create highly adaptive strategies
  – We do use highly sophisticated tools
  – We do not believe that defeat is inevitable


The last word goes to Sun Tzu:
 To subdue the enemy without fighting is the
               supreme excellence


                Copyright © 2008 Brian Bailey Consulting   40
Thank You

Questions?


Email: brian_bailey@acm.org
Tel: 503 632 7448
Cell: 503 753 6040
Web: brianbailey.us

More Related Content

Similar to Is It Time to Declare A Verification War?

QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your TeamQASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Teamelizabethdiazqa
 
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...QASymphony
 
Writing a Killer Marketing Plan
Writing a Killer Marketing PlanWriting a Killer Marketing Plan
Writing a Killer Marketing PlanSVPMA
 
Let The Response Fit The Scandal
Let The Response Fit The ScandalLet The Response Fit The Scandal
Let The Response Fit The ScandalBijoy Viswanadhan
 
Leadership In Crises Mode Asme Presentation
Leadership In Crises Mode   Asme PresentationLeadership In Crises Mode   Asme Presentation
Leadership In Crises Mode Asme PresentationDavid Tennant
 
AgileCville: How to sell a traditional client on an Agile project plan
AgileCville:  How to sell a traditional client on an Agile project planAgileCville:  How to sell a traditional client on an Agile project plan
AgileCville: How to sell a traditional client on an Agile project planOpenSource Connections
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinQA or the Highway
 
Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...
Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...
Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...Intersection Conference
 
Telling the RCM story
Telling the RCM storyTelling the RCM story
Telling the RCM storyDaryl Mather
 
Advocacy planning cycle
Advocacy planning cycleAdvocacy planning cycle
Advocacy planning cycleZachman1
 
Leading Through Transitions webinar
Leading Through Transitions webinarLeading Through Transitions webinar
Leading Through Transitions webinarForum Corporation
 
T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011Alex
 
T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011Alex
 
Perception and decision making
Perception and decision makingPerception and decision making
Perception and decision makingDr.P. KARTHIKEYAN
 
Content Governance Workshop Confab 2015
Content Governance Workshop Confab 2015Content Governance Workshop Confab 2015
Content Governance Workshop Confab 2015Content Strategy Inc.
 
Strategy Execution - 7 ways to mitigate risk
Strategy Execution - 7 ways to mitigate riskStrategy Execution - 7 ways to mitigate risk
Strategy Execution - 7 ways to mitigate riskESI14
 
In Chuck Norris we trust - A3 thinking intro
In Chuck Norris we trust - A3 thinking introIn Chuck Norris we trust - A3 thinking intro
In Chuck Norris we trust - A3 thinking introHanno Jarvet
 
Benefits management process issue 1.0
Benefits management process   issue 1.0Benefits management process   issue 1.0
Benefits management process issue 1.0Owen Nicholson
 

Similar to Is It Time to Declare A Verification War? (20)

Overcoming Project Failure
Overcoming Project FailureOvercoming Project Failure
Overcoming Project Failure
 
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your TeamQASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
QASymphony - How to Start, Grow & Perfect Exploratory Testing on your Team
 
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
QASymphony Webinar - "How to Start, Grow & Perfect Exploratory Testing on you...
 
Writing a Killer Marketing Plan
Writing a Killer Marketing PlanWriting a Killer Marketing Plan
Writing a Killer Marketing Plan
 
Let The Response Fit The Scandal
Let The Response Fit The ScandalLet The Response Fit The Scandal
Let The Response Fit The Scandal
 
Leadership In Crises Mode Asme Presentation
Leadership In Crises Mode   Asme PresentationLeadership In Crises Mode   Asme Presentation
Leadership In Crises Mode Asme Presentation
 
AgileCville: How to sell a traditional client on an Agile project plan
AgileCville:  How to sell a traditional client on an Agile project planAgileCville:  How to sell a traditional client on an Agile project plan
AgileCville: How to sell a traditional client on an Agile project plan
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...
Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...
Intersection18: From a "Simple" App Challenge for Astronauts to an Enterprise...
 
Telling the RCM story
Telling the RCM storyTelling the RCM story
Telling the RCM story
 
Advocacy planning cycle
Advocacy planning cycleAdvocacy planning cycle
Advocacy planning cycle
 
Decision Making
Decision Making Decision Making
Decision Making
 
Leading Through Transitions webinar
Leading Through Transitions webinarLeading Through Transitions webinar
Leading Through Transitions webinar
 
T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011
 
T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011T4 case analysis_workbook_may_2011
T4 case analysis_workbook_may_2011
 
Perception and decision making
Perception and decision makingPerception and decision making
Perception and decision making
 
Content Governance Workshop Confab 2015
Content Governance Workshop Confab 2015Content Governance Workshop Confab 2015
Content Governance Workshop Confab 2015
 
Strategy Execution - 7 ways to mitigate risk
Strategy Execution - 7 ways to mitigate riskStrategy Execution - 7 ways to mitigate risk
Strategy Execution - 7 ways to mitigate risk
 
In Chuck Norris we trust - A3 thinking intro
In Chuck Norris we trust - A3 thinking introIn Chuck Norris we trust - A3 thinking intro
In Chuck Norris we trust - A3 thinking intro
 
Benefits management process issue 1.0
Benefits management process   issue 1.0Benefits management process   issue 1.0
Benefits management process issue 1.0
 

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

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Is It Time to Declare A Verification War?

  • 1. Is it time to declare a verification war? Brian Bailey Email: brian_bailey@acm.org Tel: 503 632 7448 Cell: 503 753 6040 Web: brianbailey.us
  • 2. In the beginning • The year app. 500 BC • Sun Tzu published “on the art of war” 孫子兵法 • Since then it has been used for – Military strategies – Political – Business – Anything requiring tactics Copyright © 2008 Brian Bailey Consulting 2
  • 3. Why was it so important • Sun Tzu was the first to recognize the importance of positioning in strategy and that position is affected both by: – objective conditions in the physical environment – subjective opinions of competitive actors in that environment • He taught that strategy was not a to do list – requires quick and appropriate responses to changing conditions • Begins to sound like verification – Can we learn from Sun Tzu? Copyright © 2008 Brian Bailey Consulting 3
  • 4. Who is the Enemy? • When thinking about verification, the battle is being fought against Murphy the Design – Murphy is powerful and indiscriminate – He will show up anywhere and attempt to cause the maximum damage – He is also indestructible – Kill him and he shows up somewhere else – Is it possible to know he is dead – no we know he will never die • Why then do we bother fighting? – Because we are the verification heroes! Copyright © 2008 Brian Bailey Consulting 4
  • 5. Sun Tzu’s 13 Chapters 1. Laying Plans explores the five key elements that define competitive position (mission, climate, ground, leadership, and methods) and how to evaluate your competitive strengths against your competition. 2. Waging War explains how to understand the economic nature of competition and how success requires making the winning play, which in turn, requires limiting the cost of competition and conflict. 3. Attack by Stratagem defines the source of strength as unity, not size, and the five ingredients that you need to succeed in any competitive situation. 4. Tactical Dispositions explains the importance of defending existing positions until you can advance them and how you must recognize opportunities, not try to create them. 5. Energy explains the use of creativity and timing in building your competitive momentum. 6. Weak Points & Strong explains how your opportunities come from the openings in the environment caused by the relative weakness of your competitors in a given area. 7. Maneuvering explains the dangers of direct conflict and how to win those confrontations when they are forced upon you. 8. Variation in Tactics focuses on the need for flexibility in your responses. It explains how to respond to shifting circumstances successfully. 9. The Army on the March describes the different situations in which you find yourselves as you move into new competitive arenas and how to respond to them. Much of it focuses on evaluating the intentions of others. 10. Terrain looks at the three general areas of resistance (distance, dangers, and barriers) and the six types of ground positions that arise from them. Each of these six field positions offer certain advantages and disadvantages. 11. The Nine Situations describe nine common situations (or stages) in a competitive campaign, from scattering to deadly, and the specific focus you need to successfully navigate each of them. 12. The Attack by Fire explains the use of weapons generally and the use of the environment as a weapon specifically. It examines the five targets for attack, the five types of environmental attack, and the appropriate responses to such attack. 13. The Use of Spies focuses on the importance of developing good information sources, specifically the five types of sources and how to manage them. Copyright © 2008 Brian Bailey Consulting 5
  • 6. The Key Essence • Know the enemy – Understand the design and the best ways to approach the verification challenge • Know yourself – Understand (and improve) the process – Understand its strengths and weaknesses • Prepare yourself – Make sure the tools you use are those most likely to lead to success – Be flexible in the way that you use them • Use feedback – Based on objective observations Copyright © 2008 Brian Bailey Consulting 6
  • 7. Outline • Know yourself – I am going to revisit some fundamentals of verification that many forget – Take a look at coverage metrics – Primarily for the people newer to verification • Also a good reminder to more seasoned amongst us • Arm yourself with the best weapons – Some recent tools that help • Make verification more objective • Raise the level of abstraction • Preserve and use knowledge Copyright © 2008 Brian Bailey Consulting 7
  • 8. Verification definition "Confirmation by examination and provisions of objective evidence that specified requirements have been fulfilled." IEEE Definition of verification.  Verification is all about answering the question: Have we implemented something correctly ? Copyright © 2008 Brian Bailey Consulting 8
  • 9. Verification definition • 4 Key phrases – Confirmation by examination • If you don’t look, then there is no hope of finding incorrect behavior – provisions of objective evidence • Requires a second independent model of functionality – specified requirements • This introduces the needs for coverage to ensure the right things have been verified – have been fulfilled • Requires an act of verification to be associated with a coverage measurement Copyright © 2008 Brian Bailey Consulting 9
  • 10. Verification fundamentals Propagation success Bug Checker Stimulus 2. Propagate 3. Detect 1. Activate Design Propagation failure Remember: If you don’t look it hasn’t been verified If it hasn’t been verified against something objective, then it isn’t trustworthy Only place this happens is in the checker Copyright © 2008 Brian Bailey Consulting 10
  • 11. Fundamentals - Coverage • The extent or degree to which something is observed, analyzed, and reported. thefreedictionary.com – High coverage does not imply high quality • With the metrics that are in use today – While coverage metrics are objective (the information they provide is impassionate) • The decision about which to apply is subjective • The analysis of results is often subjective • Most coverage metrics do not provide “Confirmation by examination and provisions of objective evidence” – This include code coverage, functional coverage and almost all other metrics in use Copyright © 2008 Brian Bailey Consulting 11
  • 12. Structural Metrics • These metrics are automatically extracted from the implementation source Easy to implement Cannot identify what is missing • They tell you that something was ‘reached’ – A line of code – A decision point – A state They do not tell you that it was reached for the right reason They do not tell you that the right thing happened after that Copyright © 2008 Brian Bailey Consulting 12
  • 13. Structural Coverage Propagation success Bug Checker Stimulus 1. Activate Design Propagation failure Copyright © 2008 Brian Bailey Consulting 13
  • 14. Structural Coverage Propagation success Bug Shows if you have reached Checker every point in the implementation Stimulus 1.where a bug may be Activate Design Does not show you that the Propagation failure bug would have been detected Coverage != Verification Copyright © 2008 Brian Bailey Consulting 14
  • 15. Structural metrics • Path coverage This is the set of all combinations of all branches It identifies exhaustive execution of a model Still cannot identify missing functionality Expensive computationally – Limited path sets have been defined but not in use Does not identify data errors that do not affect control • Would not have identified Intel FP bug since this was related to values in a ROM Copyright © 2008 Brian Bailey Consulting 15
  • 16. Path Coverage Propagation success Bug Checker Stimulus 2. Propagate 1. Activate Design Propagation failure Copyright © 2008 Brian Bailey Consulting 16
  • 17. Path Coverage Propagation success Bug Checker Stimulus Shows if you havePropagate 2. executed all 1. Activate possible paths in the implementation Design Does notPropagation failure the show you that bug would have been detected Copyright © 2008 Brian Bailey Consulting 17
  • 18. Structural coverage – dirty word • When did structural coverage become a dirty word? – Directed tests target specific functionality – structural coverage was an impartial way to identify holes • Along came constrained/pseudo-random generation – No longer targeting specific functionality – Needed a way to ensure important functionality was executed • Thus functional coverage was born – There is nothing wrong with structural coverage coupled to directed testing • Unless used irresponsibly • Becoming less useful with increased concurrency Copyright © 2008 Brian Bailey Consulting 18
  • 19. Functional Coverage • Identifies indicators of functionality – A data value – A specific state – A sequence of states – etc It does not identify that the functionality is correct – Still expects that the comparison of two models is happening – Suffers from some of the same problems as code coverage Copyright © 2008 Brian Bailey Consulting 19
  • 20. Functional coverage • It is a third independent model – Does not define the correct behaviors, just the behaviors that should be detectable – Different language • Good and bad No way to define completion • Implementation is subjective • Closest theoretical model is path coverage – Expensive in terms of execution time • Higher cost than structural coverage An extra model to define Slows down simulator Analysis of holes is easier Functional Coverage != Verification Copyright © 2008 Brian Bailey Consulting 20
  • 21. Adding Propagation • Path Coverage – Already talked about this • OCCOM (Observability-based Code COverage Metrics ) – Srinivas Devadas Abhijit Ghosh Kurt Keutzer – DAC 1998 – Computes the probability that an effect of the fault would be propagated – During normal simulation – variables are tagged • Positive and negative tags are used – In a post processing step, these tags are used to compute the probabilities of propagation Copyright © 2008 Brian Bailey Consulting 21
  • 22. OCCOM results • Notes: – Shows the problems with coupling code coverage and random techniques – Shows that people creating directed tests consider propagation • This is a flaw with random methods – Some of the new intelligent testbench tools will make this a lot worse Copyright © 2008 Brian Bailey Consulting 22
  • 23. Summary of coverage methods Cost to Cost to Imp or Completion Objective Benefits Analysis implement execute spec Code Low Low Imp Low Yes Low Difficult Path Low Low Imp High Yes High Moderate Toggle Low Low Imp Medium Yes Medium Moderate Functional Medium Medium Spec ?* No Medium Easy Assertion High High Spec ?* No High Difficult * No direct way to measure today Copyright © 2008 Brian Bailey Consulting 23
  • 24. Arm yourself with the best weapons • A look at some new technologies – Active IP product from Jasper – Raising abstraction with Calypto – Functional Qualification from Certess Copyright © 2008 Brian Bailey Consulting 24
  • 25. Using the right weapon • We have a number of different products in the verification portfolio – Each have very different characteristics – Each have different areas where they can excel – They also have weaknesses • Need to carefully match the tool to the situation – Verification planning helps in this regard – Requires thought upfront Copyright © 2008 Brian Bailey Consulting 25
  • 26. Thinking slightly differently • But it is not just the application of the tools – It is also the application of technology to make tools – For years formal methods were used to make formal verification tools • Seems obvious, but limited usefulness • Capacity constraints etc – Started to target technology to fit the problem • Bounded model checking • Semi-formal verification • Application of abstractions – Look for completely different applications • This is what I really wanted to talk about, but could not get permission from the company Copyright © 2008 Brian Bailey Consulting 26
  • 27. Another example • Intelligent testbenches – Two primary types • Graph based • Simulation based – Graph based ones basically create a formal model of the system and use it to create stimulus paths that in turn exercise the design – Simulation based ones “learn” as they simulate so that they can get to an “objective” faster – Neither type of company wants to be called “formal” – but they both employ formal technologies Copyright © 2008 Brian Bailey Consulting 27
  • 28. Raising the abstraction • Just as combinatorial equivalence checking allowed us to move from gate to RTL verification – Sequential equivalence checking will allow a migration to higher levels of abstraction • Higher simulation speeds • Enable longer runs • Use real scenarios (live data) Copyright © 2008 Brian Bailey Consulting 28
  • 29. Uses for SEC • Untimed input in C/C++/SystemC – Ensure hand coded RTL functionally matches • Synthesis verification – Ensure constraints, setup and options produced a valid result • Power optimization – Clock gating – Power optimizations Copyright © 2008 Brian Bailey Consulting 29
  • 30. A simple example Always @ (posedge CLK) begin Out = A + B + C end A B C A B C + + + CLK CLK Out Out Copyright © 2008 Brian Bailey Consulting 30
  • 31. Commercialization • Large pool of researchers – Shares many technologies with property checking • Internally generated tools – IBM • Esterel Studio – 2007 – Only within Esterel environment • Calypto introduced SLEC at DAC 2005 – Enables retimed RTL to be verified – Untimed to timed functional equivalency – Integrated with Mentor, Forte, Cadence synthesis products Copyright © 2008 Brian Bailey Consulting 31
  • 32. Mutation Analysis • Similar to manufacturing test – Looks for a change in values seen on an output – Stuck-at faults: what fault model is the equivalent for designer errors? • Mutation fault model based on two hypotheses: – that programmers or engineers write code that is close to being correct – that a test that distinguishes the good version from all its mutants is also sensitive to more complex errors – Potentially huge number of faults • Concept introduced in 1971 – First tool implementation in 1980 Copyright © 2008 Brian Bailey Consulting 32
  • 33. Mutation analysis • Performs complete stimulate and propagate analysis – Addresses -- • If you don’t look it hasn’t been verified – But not – • If it hasn’t been verified against something objective, then it isn’t trustworthy • This is the same as manufacturing test – It is not good enough to know that something was different – Must be able to detect that it was in error Copyright © 2008 Brian Bailey Consulting 33
  • 34. Functional Qualification • Based on mutation analysis • Several differences: – Functional Qualification includes the detection phase. For a fault to be detected there must be a check made so that at least one testcase fails – Functional qualification does not depend on propagation to a primary output. Directly supports white box assertions – Uses very different fault injections schemes to provide relevant results faster – Applied to hardware instead of software Copyright © 2008 Brian Bailey Consulting 34
  • 35. Some other differences • For SW, mutation analysis was used to “cover” the program • Functional qualification is being used as a quality measure for the testbench – First time verification engineers have a tool that allows them to objectively measure themselves • Statistical in nature – Technology advancements to improve performance – Do not have to run all faults or all testcases – Stop as soon as a testbench flaw has been revealed – Tackle the difficult problems first, and let the easy ones take case of themselves Copyright © 2008 Brian Bailey Consulting 35
  • 36. Certitude Metrics - ST References Global Metric Representing the overall quality of the Verification Environment ST reference : 75%, but usually higher Activation Score Measures the ability of the test suite to exercise all the RTL of the IP Similar to code coverage ST reference : 95%, & 100% explained Missing % should deeply studied & fixed or explained Propagation Score Measures the ability of the test suite to propagate mutations to the outputs of the IP ST reference : 80%, but should probably be enhanced by adding more test scenarios to reach 90% Detection Score Measures the ability of the environment to catch errors ST reference : 90%, but usually higher DAC’2008 - Anaheim Elevating Confidence in Design IP 36
  • 37. Case study 1 : 3rd Party - IP qualification • Case study 1: Activation Score (A/F) • Application: 3rd party IP 95% IP ST Ref ST Avg 3rd Party IP Activation Score (A/F) 95% 97% 97% • HDL Directed Environment 90% Propagation Score (P/A) 80% 90% 80% 85% Global Metric (D/F) 75% 80% 66% • ~300 tests, 30 minutes 80% Detection Score (D/P) 90% 93% 85% 75% • Code Coverage ~100% 70% 65% Detection Score (D/P) 60% Propagation Score (P/A) • Challenges ST Ref • Convince 3rd Party IP provider ST Avg • High revenue, high visibility chip; 3rd Party IP reduce respin risk Global Metric (D/F) • Results • Helped us to push IP provider to improve verification environment • and monitor progress • Low detection score highlighted manual waveform checks DAC’2008 - Anaheim Elevating Confidence in Design IP 37
  • 38. Update from Haifa • Panel session: Coverage Metrics across the Verification Domain – Participants from SW, HW, industry, tool vendor, academia, dynamic and formal – 3 out of 6 panelists identified mutation analysis as a key enabler – Holds promise as a way to make coverage objective – Holds promise as a way to integrate formal and dynamic methods Copyright © 2008 Brian Bailey Consulting 38
  • 39. Is it “The Art of Verification” Copyright © 2008 Brian Bailey Consulting 39
  • 40. Verification is Not Art • We denigrate ourselves by calling it • While we have not yet formalized and perfected the philosophy of verification – We do create highly adaptive strategies – We do use highly sophisticated tools – We do not believe that defeat is inevitable The last word goes to Sun Tzu: To subdue the enemy without fighting is the supreme excellence Copyright © 2008 Brian Bailey Consulting 40
  • 41. Thank You Questions? Email: brian_bailey@acm.org Tel: 503 632 7448 Cell: 503 753 6040 Web: brianbailey.us