SlideShare a Scribd company logo
<Insert Picture Here>
Verification Bug Metrics
A Different Approach
Greg Smith
Greg.A.Smith@oracle.com
2
Talk Outline
• The hardest question for a DV manager to answer
• How does chip design use metrics today?
• How does Software do it?
• Adapting SW metrics principles to HW design
• Actual project data
3
Some Background
• Became a design verification manager at HP
• With technique I am presenting today, successfully taped out 10
ASICs with first pass success
– Some data from those projects is presented here
• The hardest question for a DV manager to answer:
4
What do you think it is?
• The hardest question for a DV manager to answer:
When will you be done?
5
Metrics Used Today
• What are the most common metrics in use today to track
execution and measure progress:
> Completion of Test Plan
> Functional & Code Coverage percentages
> Bug Arrival Rates
> RTL rate of change
> Schedule milestones
• The above are all backwards looking and subject to human error
of omission!
• I was searching for a quantitative, *calculated* way to predict
and track schedule.
6
Cumulative Bugs
Time (weeks)
NumberofBugs
Cumulative Bugs
Does this bug arrival chart
tell you that you are ready
for Tape out?
HP Project E
7
Cumulative Bugs closed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Time (Weeks)
BugCount
Cumulative Bugs closed
Does this bug arrival chart
tell you if you are on
schedule?
What does it tell you
about your staffing level?
HP Project M
8
How Does Software Do It?
• Researched web for Software Development Metrics
• Software +defect +reliability +metrics
• Amazing amount of material: PMI, SEI, University and government research
• Reference Holly Richardson :“Rayleigh Curve Based Estimation”
• Discovered many corroborating papers and studies on related topics
• How many resources are needed, when, and for how long
• Bug arrival curve predictions
• Technique I am presenting today was used on the software project for the
NASA space shuttle
9
The Rayleigh Distribution Model
So what is all this?
Em = errors expected in this period
td = Total # of measurement periods
t = elapsed time (This measurement period).
Er = total # of errors expected
• Therefore you need 2 pieces of information:
Project Duration
# of bugs expected
2
2
3
2
m te
6
=E dt
t
d
r
t
E
−
×
10
Applying the Principle to HW Design
Project Duration (td)
• # of measurement periods between when you start
counting bugs and when you freeze or tape out or
equivalent milestone
• Typical would be weeks
t term is the given week
2
2
3
2
m te
6
=E dt
t
d
r
t
E
−
×
11
Predicting the # of Bugs to be Found:
What is your bug density? (Er)
• How I went about figuring this out:
– SW Uses bugs per LOC or KLOC
– Went through bug data base for several past projects
– Total up all RTL bugs
– Sized the corresponding design (lines of Verilog code)
– Observed a trend which established my initial “guess”
– Our density was 1/150 LOC for all projects
• SW norms are 1/50 – 1/100
2
2
3
2
m te
6
=E dt
t
d
r
t
E
−
×
12
Cumulative Bugs
Cumulative Bugs
13
Something WAS Wrong
Predicted Bug Arrival
Cumulative Logic Bugs
Test Bench Fixed
14
Cumulative Bugs closed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Cumulative Bugs closed
Does this bug arrival chart
tell you if you are on
schedule?
What does it tell you
about your staffing level?
15
Something is Wrong Here!
16
0.0
5.0
10.0
15.0
20.0
25.0
Weekly Arrivals - Predicted
Using Projections for Planning
17
0.0
5.0
10.0
15.0
20.0
25.0
Weekly Arrivals - Predicted
• Can tell you how many resources you need
• To find max # bugs/week = how many resources?
• Can help you plan release points
• Go to emulation when 75% of bugs are found
• Start freeze process when 90% of bugs are found
Using Projections for Planning
18
Chip Verif Progress "at a glance"
0
5
10
15
20
25
30
35
BugCount
0
10
20
30
40
50
60
70
80
90
100
Coverage%
Cumulative Logic Bugs
Found
Predicted Bug
Arrival
Line
Coverage %
Condition
Coverage %
19
Is this a one trick pony?
• HP Results are for ASICs & large FPGA
• Taped out 10 bug free chips that followed the model to a high degree
• Robert Page applying this technique at Freescale
• Kim Asai (TI) and Rahman Farhan (AMD) expressed interest
• What about processor projects?
• Researched past projects at Oracle to see:
> Does the arrival rate equation match?
> What can I use to calculate bug density?
• Applied to a recently completed processor project with success
20
SOC Blocks Arrivals vs Predicted
21
Ultra SPARC T2 Core Actual vs Predicted Arrivals
22
Bug Density in Processor Projects
• Cant use bugs / Line. Structural coding style makes using lines
of code problematic
• What else measures design size?
• Code coverage metrics gave me an idea: # of Conditions, as
reported by condition coverage metric might be usable
• Discovered decent correlation amongst projects
23
Actual chart from recent processor
0
Actual Bug Arrivals vs Predicted
BugCount
• Predicted bug count was off by less than 1%
24
How can I use this:
Determining your bug density factor.
Bugs per ???
• If you have Behavioral Verilog – use LOC
• Applying to a different design/coding style will require work
• Research past projects and look at historical bug density
• Bottom line – you need to do some homework but you can find
something that you can work with
25
Conclusion
• How to answer that difficult question?
• In the SW world, I found a technique I was looking for:
> Quantitative– calculated value
> Predictive – am I on track? When might I be done?
• Rayleigh arrival model borrowed from software
• To use this technique you need to:
> Assess your own RTL team’s defect density - Use past project’s
historical data
26
Conclusion
• You can create a viable method that can be used to track your
bug discovery rate vs. an expected rate
• This provides a point of reference that you can use to assess the
state of your project.
• Combined with traditional metrics, the technique can contribute to
your assessment of “Am I Done?”, but also help answer the
question:
When will you be done?
DV Club Presentation Slide 27
Thank you for your attention.
Ad

More Related Content

What's hot (20)

Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...
Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...
Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...
Davide Taibi
 
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearBHOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
DevOpsDays Tel Aviv
 
Humans by the hundred
Humans by the hundredHumans by the hundred
Humans by the hundred
Yelp Engineering
 
Bug prediction based on your code history
Bug prediction based on your code historyBug prediction based on your code history
Bug prediction based on your code history
Alexey Tokar
 
Decreasing false positives in automated testing
Decreasing false positives in automated testingDecreasing false positives in automated testing
Decreasing false positives in automated testing
Sauce Labs
 
Iwsm2014 mispredicting software reliability (rakesh rana)
Iwsm2014   mispredicting software reliability (rakesh rana)Iwsm2014   mispredicting software reliability (rakesh rana)
Iwsm2014 mispredicting software reliability (rakesh rana)
Nesma
 
Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)
Yelp Engineering
 
Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...
Equal Experts
 
Continuous integration at scale
Continuous integration at scaleContinuous integration at scale
Continuous integration at scale
Vivek Singh
 
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Sung Kim
 
Escaping the Pitfalls of Software Product Development
Escaping the Pitfalls of Software Product DevelopmentEscaping the Pitfalls of Software Product Development
Escaping the Pitfalls of Software Product Development
Mike Clement
 
2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale
John Micco
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
Gopi Raghavendra
 
Using JIRA for Risk Based Testing - QASymphony Webinar
Using JIRA for Risk Based Testing  - QASymphony WebinarUsing JIRA for Risk Based Testing  - QASymphony Webinar
Using JIRA for Risk Based Testing - QASymphony Webinar
QASymphony
 
The 5 Laws of Software Estimates
The 5 Laws of Software EstimatesThe 5 Laws of Software Estimates
The 5 Laws of Software Estimates
Vitebsk Miniq
 
Microservices Summit - The Human Side of Services
Microservices Summit - The Human Side of ServicesMicroservices Summit - The Human Side of Services
Microservices Summit - The Human Side of Services
Yelp Engineering
 
Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1
eyavagal
 
Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10
Qentinel
 
Practical Methods for Adopting DevOps - Michael Stahnke
Practical Methods for Adopting DevOps - Michael StahnkePractical Methods for Adopting DevOps - Michael Stahnke
Practical Methods for Adopting DevOps - Michael Stahnke
Puppet
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
QA Programmer
 
Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...
Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...
Ease2017 - Operationalizing the Experience Factory for Effort Estimation in A...
Davide Taibi
 
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearBHOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
DevOpsDays Tel Aviv
 
Bug prediction based on your code history
Bug prediction based on your code historyBug prediction based on your code history
Bug prediction based on your code history
Alexey Tokar
 
Decreasing false positives in automated testing
Decreasing false positives in automated testingDecreasing false positives in automated testing
Decreasing false positives in automated testing
Sauce Labs
 
Iwsm2014 mispredicting software reliability (rakesh rana)
Iwsm2014   mispredicting software reliability (rakesh rana)Iwsm2014   mispredicting software reliability (rakesh rana)
Iwsm2014 mispredicting software reliability (rakesh rana)
Nesma
 
Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)Humans by the hundred (DevOps Days Ohio)
Humans by the hundred (DevOps Days Ohio)
Yelp Engineering
 
Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...
Equal Experts
 
Continuous integration at scale
Continuous integration at scaleContinuous integration at scale
Continuous integration at scale
Vivek Singh
 
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Sung Kim
 
Escaping the Pitfalls of Software Product Development
Escaping the Pitfalls of Software Product DevelopmentEscaping the Pitfalls of Software Product Development
Escaping the Pitfalls of Software Product Development
Mike Clement
 
2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale
John Micco
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
Gopi Raghavendra
 
Using JIRA for Risk Based Testing - QASymphony Webinar
Using JIRA for Risk Based Testing  - QASymphony WebinarUsing JIRA for Risk Based Testing  - QASymphony Webinar
Using JIRA for Risk Based Testing - QASymphony Webinar
QASymphony
 
The 5 Laws of Software Estimates
The 5 Laws of Software EstimatesThe 5 Laws of Software Estimates
The 5 Laws of Software Estimates
Vitebsk Miniq
 
Microservices Summit - The Human Side of Services
Microservices Summit - The Human Side of ServicesMicroservices Summit - The Human Side of Services
Microservices Summit - The Human Side of Services
Yelp Engineering
 
Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1Strayer bus 375 final exam part 1
Strayer bus 375 final exam part 1
eyavagal
 
Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10Safety nets with fast feedback loops | Jani haapala 2016-10
Safety nets with fast feedback loops | Jani haapala 2016-10
Qentinel
 
Practical Methods for Adopting DevOps - Michael Stahnke
Practical Methods for Adopting DevOps - Michael StahnkePractical Methods for Adopting DevOps - Michael Stahnke
Practical Methods for Adopting DevOps - Michael Stahnke
Puppet
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
QA Programmer
 

Similar to Verification Bug Metrics: A Different Approach (20)

2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf
Johnnie Fox
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
Andrey Karpov
 
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Andy Kucharski
 
Sql azure cluster dashboard public.ppt
Sql azure cluster dashboard public.pptSql azure cluster dashboard public.ppt
Sql azure cluster dashboard public.ppt
Qingsong Yao
 
Defect Age
Defect  AgeDefect  Age
Defect Age
jyoti1925
 
My Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsMy Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOps
XebiaLabs
 
Agile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniXAgile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniX
ESUG
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...
Jean-François Nguyen
 
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
Moving 65,000 Microsofties to DevOps with Visual Studio Team ServicesMoving 65,000 Microsofties to DevOps with Visual Studio Team Services
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
VSTS Community MSFT
 
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
Nacho Cougil
 
3.pptx
3.pptx3.pptx
3.pptx
ssusere16bd9
 
Wbs
WbsWbs
Wbs
Sulman Ahmed
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
Sulman Ahmed
 
Key items for a digital enterprise
Key items for a digital enterpriseKey items for a digital enterprise
Key items for a digital enterprise
Jean-François Nguyen
 
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
Nacho Cougil
 
Software metrics
Software metricsSoftware metrics
Software metrics
Sophia Girls' College(Autonomous), Ajmer
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
Masas Dani
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
Saqib Raza
 
2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf
Johnnie Fox
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
Andrey Karpov
 
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Andy Kucharski
 
Sql azure cluster dashboard public.ppt
Sql azure cluster dashboard public.pptSql azure cluster dashboard public.ppt
Sql azure cluster dashboard public.ppt
Qingsong Yao
 
My Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsMy Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOps
XebiaLabs
 
Agile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniXAgile & Lean @ MediaGeniX
Agile & Lean @ MediaGeniX
ESUG
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...
Jean-François Nguyen
 
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
Moving 65,000 Microsofties to DevOps with Visual Studio Team ServicesMoving 65,000 Microsofties to DevOps with Visual Studio Team Services
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
VSTS Community MSFT
 
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
Nacho Cougil
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
Sulman Ahmed
 
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
Nacho Cougil
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
Masas Dani
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
Saqib Raza
 
Ad

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
DVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
DVClub
 
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
DVClub
 
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 Methodology
DVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
DVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
DVClub
 
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
DVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
DVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
DVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
DVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
 
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
DVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
DVClub
 
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
DVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
DVClub
 
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
DVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
DVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
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 Enterprise
DVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
DVClub
 
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
DVClub
 
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 Methodology
DVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
DVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
DVClub
 
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
DVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
DVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
DVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
DVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
 
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
DVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
DVClub
 
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
DVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
DVClub
 
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
DVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
DVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
DVClub
 
Ad

Recently uploaded (20)

TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Social Media App Development Company-EmizenTech
Social Media App Development Company-EmizenTechSocial Media App Development Company-EmizenTech
Social Media App Development Company-EmizenTech
Steve Jonas
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Social Media App Development Company-EmizenTech
Social Media App Development Company-EmizenTechSocial Media App Development Company-EmizenTech
Social Media App Development Company-EmizenTech
Steve Jonas
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 

Verification Bug Metrics: A Different Approach

  • 1. <Insert Picture Here> Verification Bug Metrics A Different Approach Greg Smith [email protected]
  • 2. 2 Talk Outline • The hardest question for a DV manager to answer • How does chip design use metrics today? • How does Software do it? • Adapting SW metrics principles to HW design • Actual project data
  • 3. 3 Some Background • Became a design verification manager at HP • With technique I am presenting today, successfully taped out 10 ASICs with first pass success – Some data from those projects is presented here • The hardest question for a DV manager to answer:
  • 4. 4 What do you think it is? • The hardest question for a DV manager to answer: When will you be done?
  • 5. 5 Metrics Used Today • What are the most common metrics in use today to track execution and measure progress: > Completion of Test Plan > Functional & Code Coverage percentages > Bug Arrival Rates > RTL rate of change > Schedule milestones • The above are all backwards looking and subject to human error of omission! • I was searching for a quantitative, *calculated* way to predict and track schedule.
  • 6. 6 Cumulative Bugs Time (weeks) NumberofBugs Cumulative Bugs Does this bug arrival chart tell you that you are ready for Tape out? HP Project E
  • 7. 7 Cumulative Bugs closed 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Time (Weeks) BugCount Cumulative Bugs closed Does this bug arrival chart tell you if you are on schedule? What does it tell you about your staffing level? HP Project M
  • 8. 8 How Does Software Do It? • Researched web for Software Development Metrics • Software +defect +reliability +metrics • Amazing amount of material: PMI, SEI, University and government research • Reference Holly Richardson :“Rayleigh Curve Based Estimation” • Discovered many corroborating papers and studies on related topics • How many resources are needed, when, and for how long • Bug arrival curve predictions • Technique I am presenting today was used on the software project for the NASA space shuttle
  • 9. 9 The Rayleigh Distribution Model So what is all this? Em = errors expected in this period td = Total # of measurement periods t = elapsed time (This measurement period). Er = total # of errors expected • Therefore you need 2 pieces of information: Project Duration # of bugs expected 2 2 3 2 m te 6 =E dt t d r t E − ×
  • 10. 10 Applying the Principle to HW Design Project Duration (td) • # of measurement periods between when you start counting bugs and when you freeze or tape out or equivalent milestone • Typical would be weeks t term is the given week 2 2 3 2 m te 6 =E dt t d r t E − ×
  • 11. 11 Predicting the # of Bugs to be Found: What is your bug density? (Er) • How I went about figuring this out: – SW Uses bugs per LOC or KLOC – Went through bug data base for several past projects – Total up all RTL bugs – Sized the corresponding design (lines of Verilog code) – Observed a trend which established my initial “guess” – Our density was 1/150 LOC for all projects • SW norms are 1/50 – 1/100 2 2 3 2 m te 6 =E dt t d r t E − ×
  • 13. 13 Something WAS Wrong Predicted Bug Arrival Cumulative Logic Bugs Test Bench Fixed
  • 14. 14 Cumulative Bugs closed 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Cumulative Bugs closed Does this bug arrival chart tell you if you are on schedule? What does it tell you about your staffing level?
  • 16. 16 0.0 5.0 10.0 15.0 20.0 25.0 Weekly Arrivals - Predicted Using Projections for Planning
  • 17. 17 0.0 5.0 10.0 15.0 20.0 25.0 Weekly Arrivals - Predicted • Can tell you how many resources you need • To find max # bugs/week = how many resources? • Can help you plan release points • Go to emulation when 75% of bugs are found • Start freeze process when 90% of bugs are found Using Projections for Planning
  • 18. 18 Chip Verif Progress "at a glance" 0 5 10 15 20 25 30 35 BugCount 0 10 20 30 40 50 60 70 80 90 100 Coverage% Cumulative Logic Bugs Found Predicted Bug Arrival Line Coverage % Condition Coverage %
  • 19. 19 Is this a one trick pony? • HP Results are for ASICs & large FPGA • Taped out 10 bug free chips that followed the model to a high degree • Robert Page applying this technique at Freescale • Kim Asai (TI) and Rahman Farhan (AMD) expressed interest • What about processor projects? • Researched past projects at Oracle to see: > Does the arrival rate equation match? > What can I use to calculate bug density? • Applied to a recently completed processor project with success
  • 20. 20 SOC Blocks Arrivals vs Predicted
  • 21. 21 Ultra SPARC T2 Core Actual vs Predicted Arrivals
  • 22. 22 Bug Density in Processor Projects • Cant use bugs / Line. Structural coding style makes using lines of code problematic • What else measures design size? • Code coverage metrics gave me an idea: # of Conditions, as reported by condition coverage metric might be usable • Discovered decent correlation amongst projects
  • 23. 23 Actual chart from recent processor 0 Actual Bug Arrivals vs Predicted BugCount • Predicted bug count was off by less than 1%
  • 24. 24 How can I use this: Determining your bug density factor. Bugs per ??? • If you have Behavioral Verilog – use LOC • Applying to a different design/coding style will require work • Research past projects and look at historical bug density • Bottom line – you need to do some homework but you can find something that you can work with
  • 25. 25 Conclusion • How to answer that difficult question? • In the SW world, I found a technique I was looking for: > Quantitative– calculated value > Predictive – am I on track? When might I be done? • Rayleigh arrival model borrowed from software • To use this technique you need to: > Assess your own RTL team’s defect density - Use past project’s historical data
  • 26. 26 Conclusion • You can create a viable method that can be used to track your bug discovery rate vs. an expected rate • This provides a point of reference that you can use to assess the state of your project. • Combined with traditional metrics, the technique can contribute to your assessment of “Am I Done?”, but also help answer the question: When will you be done?
  • 27. DV Club Presentation Slide 27 Thank you for your attention.