SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Heuristic Stimuli GenerationHeuristic Stimuli Generation
For Coverage ClosureFor Coverage Closure
Exploiting Simulation FeedbackExploiting Simulation Feedback
Giovanni Squillero
Politecnico di Torino - Italy
CAD Group ( )
giovanni.squillero@polito.it
GOALGOAL
• To propose a methodology for coverage-
directed stimuli generation based on
simulation feedback
• Such stimuli could be added as new content to
improve existing validation suites
DVClub 2010-01-18 giovanni.squillero@polito.it 2
AcknowledgementsAcknowledgements
• Danilo Ravotto
• Ernesto Sanchez
• Matteo Sonza Reorda
• Alberto Tonda
• + many others
DVClub 2010-01-18 giovanni.squillero@polito.it 3
OutlineOutline
• Proposed methodology
• Case studies
• Conclusions
DVClub 2010-01-18 giovanni.squillero@polito.it 4
Design ChoicesDesign Choices
• Being able to tackle real problems
• Develop a versatile and broadly applicable
methodology
– Compatible with different environment
– Compatible with any coverage metric
• Minimize effort to change goal/target
– Exploit common aspects
DVClub 2010-01-18 giovanni.squillero@polito.it 5
Feedback-Based ApproachFeedback-Based Approach
• Simulation-based approach
• Exploits feedback from simulation
• Incremental improvement/refinement of the
solution (trial-and-error)
• Trade-off between computational resources
and confidence
• May exploit heuristics or problem-specific
knowledge
DVClub 2010-01-18 giovanni.squillero@polito.it 6
Proposed MethodologyProposed Methodology
DVClub 2010-01-18 giovanni.squillero@polito.it 7
Stimuli
Generator
System
Stimuli
Feedback
StimuliStimuli
DVClub 2010-01-18 giovanni.squillero@polito.it 8
Stimuli
Generator
System
Stimuli
Feedback
StimuliStimuli
• Sequences of bits
• Sequences of keys
• Full fledged assembly language programs
• VHDL test case
• External world
• …
DVClub 2010-01-18 giovanni.squillero@polito.it 9
Stimuli GeneratorStimuli Generator
DVClub 2010-01-18 giovanni.squillero@polito.it 10
Stimuli
Generator
System
Stimuli
Feedback
Stimuli GeneratorStimuli Generator
• Exploit an Evolutionary Algorithm to generate
stimuli to maximize a given function
DVClub 2010-01-18 giovanni.squillero@polito.it 11
Evolutionary AlgorithmsEvolutionary Algorithms
• Meta-heuristic optimization algorithm based
on the concept of population and exploiting
some principles of natural evolution
DVClub 2010-01-18 giovanni.squillero@polito.it 12
Evolutionary AlgorithmsEvolutionary Algorithms
• Succession of random and deterministic steps
– A systematic way of throwing dices
– Better than pure random
“The great effect produced by the
accumulation in one direction,
during successive generations,
of differences absolutely inappreciable
by an uneducated eye”
DVClub 2010-01-18 giovanni.squillero@polito.it 13
Evolutionary AlgorithmsEvolutionary Algorithms
• Population
– Multiple solutions considered in each step
– More resistant than pure hill-climbing
– Different solutions may interbreed
DVClub 2010-01-18 giovanni.squillero@polito.it 14
Evolutionary AlgorithmsEvolutionary Algorithms
• Why using an evolutionary algorithm?
– Adaptative
– Able to find unexpected solutions
– Better than randomBetter than random
DVClub 2010-01-18 giovanni.squillero@polito.it 15
Evolutionary AlgorithmsEvolutionary Algorithms
• Problem: Fitness function
– GOAL: Optimize the wheel
– FITNESS: Minimize the number of “bumps”
DVClub 2010-01-18 giovanni.squillero@polito.it 16
Evolutionary AlgorithmsEvolutionary Algorithms
• Problem: Black magic
DVClub 2010-01-18 giovanni.squillero@polito.it 17
µGP (MicroGP)µGP (MicroGP)
• CAD Group general-purpose evolver
– 3 versions (only 2 released under GPL)
– Project started in 2002
– 11 developers + contractors, students, …
• Current version
– ≈ 300 file, > 40,000 lines in C++
DVClub 2010-01-18 giovanni.squillero@polito.it 18
µGP (MicroGP)µGP (MicroGP)
Evolutionary Optimization: the µGP
toolkit
E. Sanchez, M. Schillaci, G. Squillero
Springer, 2010
ISBN: 978-0-387-09425-0
DVClub 2010-01-18 giovanni.squillero@polito.it 19
µGP (MicroGP)µGP (MicroGP)
DVClub 2010-01-18 giovanni.squillero@polito.it 20
http://ugp3.sourceforge.net/
MicroGP++ (aka. ugp3, µGP3
)
• Information
• Download
• Credits
System & FeedbackSystem & Feedback
DVClub 2010-01-18 giovanni.squillero@polito.it 21
Stimuli
Generator
System
Stimuli
Feedback
SystemSystem
• Strongly problem dependant
• Model via simulation/emulation
– HDL (netlist to high-level)
– HW accelerated (e.g., exploiting FPGA)
– Architectural simulator
– ISA simulator
• Real device
DVClub 2010-01-18 giovanni.squillero@polito.it 22
Feedback (examples)Feedback (examples)
• From simulation
– Code coverage metrics (e.g., instruction coverage)
– HW specific metrics (e.g., toggle coverage)
– High-level information (e.g., FSM coverage)
• From the real system
– Performance counters
– Physical measures (e.g., temperature, time, power
consumption)
DVClub 2010-01-18 giovanni.squillero@polito.it 23
OutlineOutline
• Proposed methodology
• Case studies
• Conclusions
DVClub 2010-01-18 giovanni.squillero@polito.it 24
Design VerificationDesign Verification
• Devise a set of programs maximizing different
coverage metrics
DVClub 2010-01-18 giovanni.squillero@polito.it 25
FeedbackFeedback
• Code coverage metrics
– Statement coverage (SC)
– Branch coverage (BC)
– Condition coverage CC)
– Expression coverage (EC)
• HW specific metric
– Toggle coverage (TC)
DVClub 2010-01-18 giovanni.squillero@polito.it 26
SystemSystem
• DLX/pII
– Cleaned and simplified MIPS intended primarily
for teaching purposes
– 32-bit load/store architecture, 5-stage pipeline
– VHDL RTL description
• 4,558 statements
• 3,695 branches
• 193 conditional statements (1,764 expressions)
• 8,283 logic bits
DVClub 2010-01-18 giovanni.squillero@polito.it 27
Experimental ResultsExperimental Results
DVClub 2010-01-18 giovanni.squillero@polito.it 28
Experimental ResultsExperimental Results
DVClub 2010-01-18 giovanni.squillero@polito.it 29
230K
instructions
2,978
instructions
Experimental ResultsExperimental Results
DVClub 2010-01-18 giovanni.squillero@polito.it 30
20h 33h
27h
37h
95h
≈1 week
Post-silicon VerificationPost-silicon Verification
• Generate functional test programs for post-
silicon verification
• Activity performed in collaboration
with the ETM Group, Intel (Phoenix)
• Intel Pentium 4
– 42-55 millions of transistors
– 2GHz clock
– NetBurst architecture
DVClub 2010-01-18 giovanni.squillero@polito.it 31
System & FeedbackSystem & Feedback
• Real Pentium 4 (no simulation)
• Performance counters as metric
– Introduced in 1993 in IA32 architecture
– 48 event detectors + 18 programmable counters
– Instruction-tagging (for discriminating non-
speculative performance events)
DVClub 2010-01-18 giovanni.squillero@polito.it 32
Experimental ResultsExperimental Results
• Two sets of experiments:
– Mispredicted branches over the total branches
– Clock cycles in which the trace cache is delivering
µops to the execution unit instead of decoding or
building traces (hard metric!)
• Intrinsic features of the µarchitectural design
• Time (both): 12h/program
Haifa 2008 G. Squillero 33
Mobile PhoneMobile Phone
• 12m-activity performed in collaboration with
Motorola Research Center in Turin
(“Automation of Current Drain Measures”)
DVClub 2010-01-18 giovanni.squillero@polito.it 34
SystemSystem
• Real prototypical mobile phone
– P2K platform
– GSM/3G networks
– Complex applications
• Radio Communication Analyzer, anechoic
chamber
• Controllable power supply
• Custom hardware
DVClub 2010-01-18 giovanni.squillero@polito.it 35
StimuliStimuli
• Sequence of keys
• Power supply
• Network status
DVClub 2010-01-18 giovanni.squillero@polito.it 36
FeedbackFeedback
• Physical measures
– Power consumption (+ autocorrelation)
– Network status
• FSM transition coverage
DVClub 2010-01-18 giovanni.squillero@polito.it 37
Experimental ResultsExperimental Results
• Major bugs discovered in the prototype
– Test infrastructure
– LCD display
– Fake deep-sleep state
DVClub 2010-01-18 giovanni.squillero@polito.it 38
OutlineOutline
• Proposed methodology
• Case studies
• Conclusions
DVClub 2010-01-18 giovanni.squillero@polito.it 39
ConclusionsConclusions
• Simulation-based & feedback-based
• Evolutionary algorithm
• Broadly applicable
• Human resources
– Limited (set-up )
• Computational resources
– Easily parallelizable (generation level)
– Trade-off quality vs. effort
DVClub 2010-01-18 giovanni.squillero@polito.it 40
ConclusionsConclusions
• May exploit other methodologies
– Useful starting point
– Effective completion
• May be coupled with other methodologies
– Rule-based instruction randomizers
– Simulation-based approaches
DVClub 2010-01-18 giovanni.squillero@polito.it 41
Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback

Más contenido relacionado

Similar a Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback

Building large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart CitiesBuilding large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart CitiesAlexander SAMARIN
 
Simulation and modeling introduction.pptx
Simulation and modeling introduction.pptxSimulation and modeling introduction.pptx
Simulation and modeling introduction.pptxShamasRehman4
 
Palladio Optimization Suite: QoS optimization for component-based Cloud appli...
Palladio Optimization Suite: QoS optimization for component-based Cloud appli...Palladio Optimization Suite: QoS optimization for component-based Cloud appli...
Palladio Optimization Suite: QoS optimization for component-based Cloud appli...Michele Ciavotta, PH. D.
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Lionel Briand
 
Future-Proofing Your Business with Technology
Future-Proofing Your Business with TechnologyFuture-Proofing Your Business with Technology
Future-Proofing Your Business with TechnologySkoda Minotti
 
Methodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsMethodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsAndrea Mauri
 
VLSI and ES Design -An Overview.pptx
VLSI and ES Design -An Overview.pptxVLSI and ES Design -An Overview.pptx
VLSI and ES Design -An Overview.pptxNukalaMurthy1
 
Research Methodology Presentation - Research in Supply Chain Digital Twins
Research Methodology Presentation - Research in Supply Chain Digital TwinsResearch Methodology Presentation - Research in Supply Chain Digital Twins
Research Methodology Presentation - Research in Supply Chain Digital TwinsArwa Abougharib
 
Show and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdfShow and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdfSIFOfgem
 
PhD Defense of Teodoro Montanaro
PhD Defense of Teodoro MontanaroPhD Defense of Teodoro Montanaro
PhD Defense of Teodoro MontanaroTeodoro Montanaro
 
The benefits of fine-grained synchronization in deterministic and efficient ...
The benefits of fine-grained synchronization in  deterministic and efficient ...The benefits of fine-grained synchronization in  deterministic and efficient ...
The benefits of fine-grained synchronization in deterministic and efficient ...Vincenzo Gulisano
 
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...South Tyrol Free Software Conference
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic AlgorithmsDr. C.V. Suresh Babu
 
Real-Time Engineering Simulators
Real-Time Engineering SimulatorsReal-Time Engineering Simulators
Real-Time Engineering SimulatorsGSE Systems, Inc.
 
Fundamentals of Engineering Design
Fundamentals of Engineering DesignFundamentals of Engineering Design
Fundamentals of Engineering Designasuarea48
 
Easy deployable-parking-percom-v6.1
Easy deployable-parking-percom-v6.1Easy deployable-parking-percom-v6.1
Easy deployable-parking-percom-v6.1cwyou
 
AI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are DangerousAI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are DangerousRaffael Marty
 
PrepData4Mobilty (Building Blocks) Methodological approach and Roadmap.pptx
PrepData4Mobilty (Building Blocks)  Methodological approach and Roadmap.pptxPrepData4Mobilty (Building Blocks)  Methodological approach and Roadmap.pptx
PrepData4Mobilty (Building Blocks) Methodological approach and Roadmap.pptxFIWARE
 

Similar a Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback (20)

Building large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart CitiesBuilding large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart Cities
 
Simulation and modeling introduction.pptx
Simulation and modeling introduction.pptxSimulation and modeling introduction.pptx
Simulation and modeling introduction.pptx
 
Palladio Optimization Suite: QoS optimization for component-based Cloud appli...
Palladio Optimization Suite: QoS optimization for component-based Cloud appli...Palladio Optimization Suite: QoS optimization for component-based Cloud appli...
Palladio Optimization Suite: QoS optimization for component-based Cloud appli...
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
 
Future-Proofing Your Business with Technology
Future-Proofing Your Business with TechnologyFuture-Proofing Your Business with Technology
Future-Proofing Your Business with Technology
 
Methodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsMethodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applications
 
VLSI and ES Design -An Overview.pptx
VLSI and ES Design -An Overview.pptxVLSI and ES Design -An Overview.pptx
VLSI and ES Design -An Overview.pptx
 
Multimedia Mining
Multimedia Mining Multimedia Mining
Multimedia Mining
 
Research Methodology Presentation - Research in Supply Chain Digital Twins
Research Methodology Presentation - Research in Supply Chain Digital TwinsResearch Methodology Presentation - Research in Supply Chain Digital Twins
Research Methodology Presentation - Research in Supply Chain Digital Twins
 
Show and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdfShow and Tell - Data and Digitalisation, Digital Twins.pdf
Show and Tell - Data and Digitalisation, Digital Twins.pdf
 
PhD Defense of Teodoro Montanaro
PhD Defense of Teodoro MontanaroPhD Defense of Teodoro Montanaro
PhD Defense of Teodoro Montanaro
 
The benefits of fine-grained synchronization in deterministic and efficient ...
The benefits of fine-grained synchronization in  deterministic and efficient ...The benefits of fine-grained synchronization in  deterministic and efficient ...
The benefits of fine-grained synchronization in deterministic and efficient ...
 
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic Algorithms
 
Real-Time Engineering Simulators
Real-Time Engineering SimulatorsReal-Time Engineering Simulators
Real-Time Engineering Simulators
 
Fundamentals of Engineering Design
Fundamentals of Engineering DesignFundamentals of Engineering Design
Fundamentals of Engineering Design
 
Easy deployable-parking-percom-v6.1
Easy deployable-parking-percom-v6.1Easy deployable-parking-percom-v6.1
Easy deployable-parking-percom-v6.1
 
AI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are DangerousAI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are Dangerous
 
Manufacturing Data Analytics
Manufacturing Data AnalyticsManufacturing Data Analytics
Manufacturing Data Analytics
 
PrepData4Mobilty (Building Blocks) Methodological approach and Roadmap.pptx
PrepData4Mobilty (Building Blocks)  Methodological approach and Roadmap.pptxPrepData4Mobilty (Building Blocks)  Methodological approach and Roadmap.pptx
PrepData4Mobilty (Building Blocks) Methodological approach and Roadmap.pptx
 

Más de 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
 

Más de 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
 

Último

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 

Último (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 

Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback

  • 1. Heuristic Stimuli GenerationHeuristic Stimuli Generation For Coverage ClosureFor Coverage Closure Exploiting Simulation FeedbackExploiting Simulation Feedback Giovanni Squillero Politecnico di Torino - Italy CAD Group ( ) giovanni.squillero@polito.it
  • 2. GOALGOAL • To propose a methodology for coverage- directed stimuli generation based on simulation feedback • Such stimuli could be added as new content to improve existing validation suites DVClub 2010-01-18 giovanni.squillero@polito.it 2
  • 3. AcknowledgementsAcknowledgements • Danilo Ravotto • Ernesto Sanchez • Matteo Sonza Reorda • Alberto Tonda • + many others DVClub 2010-01-18 giovanni.squillero@polito.it 3
  • 4. OutlineOutline • Proposed methodology • Case studies • Conclusions DVClub 2010-01-18 giovanni.squillero@polito.it 4
  • 5. Design ChoicesDesign Choices • Being able to tackle real problems • Develop a versatile and broadly applicable methodology – Compatible with different environment – Compatible with any coverage metric • Minimize effort to change goal/target – Exploit common aspects DVClub 2010-01-18 giovanni.squillero@polito.it 5
  • 6. Feedback-Based ApproachFeedback-Based Approach • Simulation-based approach • Exploits feedback from simulation • Incremental improvement/refinement of the solution (trial-and-error) • Trade-off between computational resources and confidence • May exploit heuristics or problem-specific knowledge DVClub 2010-01-18 giovanni.squillero@polito.it 6
  • 7. Proposed MethodologyProposed Methodology DVClub 2010-01-18 giovanni.squillero@polito.it 7 Stimuli Generator System Stimuli Feedback
  • 8. StimuliStimuli DVClub 2010-01-18 giovanni.squillero@polito.it 8 Stimuli Generator System Stimuli Feedback
  • 9. StimuliStimuli • Sequences of bits • Sequences of keys • Full fledged assembly language programs • VHDL test case • External world • … DVClub 2010-01-18 giovanni.squillero@polito.it 9
  • 10. Stimuli GeneratorStimuli Generator DVClub 2010-01-18 giovanni.squillero@polito.it 10 Stimuli Generator System Stimuli Feedback
  • 11. Stimuli GeneratorStimuli Generator • Exploit an Evolutionary Algorithm to generate stimuli to maximize a given function DVClub 2010-01-18 giovanni.squillero@polito.it 11
  • 12. Evolutionary AlgorithmsEvolutionary Algorithms • Meta-heuristic optimization algorithm based on the concept of population and exploiting some principles of natural evolution DVClub 2010-01-18 giovanni.squillero@polito.it 12
  • 13. Evolutionary AlgorithmsEvolutionary Algorithms • Succession of random and deterministic steps – A systematic way of throwing dices – Better than pure random “The great effect produced by the accumulation in one direction, during successive generations, of differences absolutely inappreciable by an uneducated eye” DVClub 2010-01-18 giovanni.squillero@polito.it 13
  • 14. Evolutionary AlgorithmsEvolutionary Algorithms • Population – Multiple solutions considered in each step – More resistant than pure hill-climbing – Different solutions may interbreed DVClub 2010-01-18 giovanni.squillero@polito.it 14
  • 15. Evolutionary AlgorithmsEvolutionary Algorithms • Why using an evolutionary algorithm? – Adaptative – Able to find unexpected solutions – Better than randomBetter than random DVClub 2010-01-18 giovanni.squillero@polito.it 15
  • 16. Evolutionary AlgorithmsEvolutionary Algorithms • Problem: Fitness function – GOAL: Optimize the wheel – FITNESS: Minimize the number of “bumps” DVClub 2010-01-18 giovanni.squillero@polito.it 16
  • 17. Evolutionary AlgorithmsEvolutionary Algorithms • Problem: Black magic DVClub 2010-01-18 giovanni.squillero@polito.it 17
  • 18. µGP (MicroGP)µGP (MicroGP) • CAD Group general-purpose evolver – 3 versions (only 2 released under GPL) – Project started in 2002 – 11 developers + contractors, students, … • Current version – ≈ 300 file, > 40,000 lines in C++ DVClub 2010-01-18 giovanni.squillero@polito.it 18
  • 19. µGP (MicroGP)µGP (MicroGP) Evolutionary Optimization: the µGP toolkit E. Sanchez, M. Schillaci, G. Squillero Springer, 2010 ISBN: 978-0-387-09425-0 DVClub 2010-01-18 giovanni.squillero@polito.it 19
  • 20. µGP (MicroGP)µGP (MicroGP) DVClub 2010-01-18 giovanni.squillero@polito.it 20 http://ugp3.sourceforge.net/ MicroGP++ (aka. ugp3, µGP3 ) • Information • Download • Credits
  • 21. System & FeedbackSystem & Feedback DVClub 2010-01-18 giovanni.squillero@polito.it 21 Stimuli Generator System Stimuli Feedback
  • 22. SystemSystem • Strongly problem dependant • Model via simulation/emulation – HDL (netlist to high-level) – HW accelerated (e.g., exploiting FPGA) – Architectural simulator – ISA simulator • Real device DVClub 2010-01-18 giovanni.squillero@polito.it 22
  • 23. Feedback (examples)Feedback (examples) • From simulation – Code coverage metrics (e.g., instruction coverage) – HW specific metrics (e.g., toggle coverage) – High-level information (e.g., FSM coverage) • From the real system – Performance counters – Physical measures (e.g., temperature, time, power consumption) DVClub 2010-01-18 giovanni.squillero@polito.it 23
  • 24. OutlineOutline • Proposed methodology • Case studies • Conclusions DVClub 2010-01-18 giovanni.squillero@polito.it 24
  • 25. Design VerificationDesign Verification • Devise a set of programs maximizing different coverage metrics DVClub 2010-01-18 giovanni.squillero@polito.it 25
  • 26. FeedbackFeedback • Code coverage metrics – Statement coverage (SC) – Branch coverage (BC) – Condition coverage CC) – Expression coverage (EC) • HW specific metric – Toggle coverage (TC) DVClub 2010-01-18 giovanni.squillero@polito.it 26
  • 27. SystemSystem • DLX/pII – Cleaned and simplified MIPS intended primarily for teaching purposes – 32-bit load/store architecture, 5-stage pipeline – VHDL RTL description • 4,558 statements • 3,695 branches • 193 conditional statements (1,764 expressions) • 8,283 logic bits DVClub 2010-01-18 giovanni.squillero@polito.it 27
  • 28. Experimental ResultsExperimental Results DVClub 2010-01-18 giovanni.squillero@polito.it 28
  • 29. Experimental ResultsExperimental Results DVClub 2010-01-18 giovanni.squillero@polito.it 29 230K instructions 2,978 instructions
  • 30. Experimental ResultsExperimental Results DVClub 2010-01-18 giovanni.squillero@polito.it 30 20h 33h 27h 37h 95h ≈1 week
  • 31. Post-silicon VerificationPost-silicon Verification • Generate functional test programs for post- silicon verification • Activity performed in collaboration with the ETM Group, Intel (Phoenix) • Intel Pentium 4 – 42-55 millions of transistors – 2GHz clock – NetBurst architecture DVClub 2010-01-18 giovanni.squillero@polito.it 31
  • 32. System & FeedbackSystem & Feedback • Real Pentium 4 (no simulation) • Performance counters as metric – Introduced in 1993 in IA32 architecture – 48 event detectors + 18 programmable counters – Instruction-tagging (for discriminating non- speculative performance events) DVClub 2010-01-18 giovanni.squillero@polito.it 32
  • 33. Experimental ResultsExperimental Results • Two sets of experiments: – Mispredicted branches over the total branches – Clock cycles in which the trace cache is delivering µops to the execution unit instead of decoding or building traces (hard metric!) • Intrinsic features of the µarchitectural design • Time (both): 12h/program Haifa 2008 G. Squillero 33
  • 34. Mobile PhoneMobile Phone • 12m-activity performed in collaboration with Motorola Research Center in Turin (“Automation of Current Drain Measures”) DVClub 2010-01-18 giovanni.squillero@polito.it 34
  • 35. SystemSystem • Real prototypical mobile phone – P2K platform – GSM/3G networks – Complex applications • Radio Communication Analyzer, anechoic chamber • Controllable power supply • Custom hardware DVClub 2010-01-18 giovanni.squillero@polito.it 35
  • 36. StimuliStimuli • Sequence of keys • Power supply • Network status DVClub 2010-01-18 giovanni.squillero@polito.it 36
  • 37. FeedbackFeedback • Physical measures – Power consumption (+ autocorrelation) – Network status • FSM transition coverage DVClub 2010-01-18 giovanni.squillero@polito.it 37
  • 38. Experimental ResultsExperimental Results • Major bugs discovered in the prototype – Test infrastructure – LCD display – Fake deep-sleep state DVClub 2010-01-18 giovanni.squillero@polito.it 38
  • 39. OutlineOutline • Proposed methodology • Case studies • Conclusions DVClub 2010-01-18 giovanni.squillero@polito.it 39
  • 40. ConclusionsConclusions • Simulation-based & feedback-based • Evolutionary algorithm • Broadly applicable • Human resources – Limited (set-up ) • Computational resources – Easily parallelizable (generation level) – Trade-off quality vs. effort DVClub 2010-01-18 giovanni.squillero@polito.it 40
  • 41. ConclusionsConclusions • May exploit other methodologies – Useful starting point – Effective completion • May be coupled with other methodologies – Rule-based instruction randomizers – Simulation-based approaches DVClub 2010-01-18 giovanni.squillero@polito.it 41