heuristic stimuli generation for coverage closure ... · [email protected]. goal • to...

42
Heuristic Stimuli Generation Heuristic Stimuli Generation For Coverage Closure For Coverage Closure Exploiting Simulation Feedback Exploiting Simulation Feedback Giovanni Squillero Politecnico di Torino - Italy CAD Group ( ) [email protected]

Upload: trantram

Post on 17-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Heuristic Stimuli GenerationHeuristic Stimuli GenerationFor Coverage Closure For Coverage Closure

Exploiting Simulation FeedbackExploiting Simulation FeedbackGiovanni Squillero

Politecnico di Torino - ItalyCAD Group ( )

[email protected]

Page 2: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 2

Page 3: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

AcknowledgementsAcknowledgements

• Danilo Ravotto• Ernesto Sanchez• Matteo Sonza Reorda• Alberto Tonda

• + many others

DVClub 2010-01-18 [email protected] 3

Page 4: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

OutlineOutline

• Proposed methodology• Case studies• Conclusions

DVClub 2010-01-18 [email protected] 4

Page 5: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 5

Page 6: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 6

Page 7: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Proposed MethodologyProposed Methodology

DVClub 2010-01-18 [email protected] 7

StimuliGenerator

System

Stimuli

Feedback

Page 8: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

StimuliStimuli

DVClub 2010-01-18 [email protected] 8

StimuliGenerator

System

Stimuli

Feedback

Page 9: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

StimuliStimuli

• Sequences of bits• Sequences of keys • Full fledged assembly language programs• VHDL test case• External world• …

DVClub 2010-01-18 [email protected] 9

Page 10: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Stimuli GeneratorStimuli Generator

DVClub 2010-01-18 [email protected] 10

StimuliGenerator

System

Stimuli

Feedback

Page 11: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Stimuli GeneratorStimuli Generator

• Exploit an Evolutionary Algorithm to generate stimuli to maximize a given function

DVClub 2010-01-18 [email protected] 11

Page 12: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Evolutionary AlgorithmsEvolutionary Algorithms

• Meta-heuristic optimization algorithm based on the concept of population and exploiting some principles of natural evolution

DVClub 2010-01-18 [email protected] 12

Page 13: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 13

Page 14: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Evolutionary AlgorithmsEvolutionary Algorithms

• Population– Multiple solutions considered in each step– More resistant than pure hill-climbing– Different solutions may interbreed

DVClub 2010-01-18 [email protected] 14

Page 15: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Evolutionary AlgorithmsEvolutionary Algorithms

• Why using an evolutionary algorithm?– Adaptative– Able to find unexpected solutions– Better than randomBetter than random

DVClub 2010-01-18 [email protected] 15

Page 16: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Evolutionary AlgorithmsEvolutionary Algorithms

• Problem: Fitness function– GOAL: Optimize the wheel– FITNESS: Minimize the number of “bumps”

DVClub 2010-01-18 [email protected] 16

Page 17: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Evolutionary AlgorithmsEvolutionary Algorithms

• Problem: Black magic

DVClub 2010-01-18 [email protected] 17

Page 18: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

µ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 [email protected] 18

Page 19: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

µGP (MicroGP)µGP (MicroGP)

Evolutionary Optimization: the µGP toolkitE. Sanchez, M. Schillaci, G. Squillero

Springer, 2010

ISBN: 978-0-387-09425-0

DVClub 2010-01-18 [email protected] 19

Page 20: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

µGP (MicroGP)µGP (MicroGP)

DVClub 2010-01-18 [email protected] 20

http://ugp3.sourceforge.net/

MicroGP++ (aka. ugp3, µGP3)• Information• Download• Credits

Page 21: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

System & FeedbackSystem & Feedback

DVClub 2010-01-18 [email protected] 21

StimuliGenerator

System

Stimuli

Feedback

Page 22: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 22

Page 23: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 23

Page 24: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

OutlineOutline

• Proposed methodology• Case studies• Conclusions

DVClub 2010-01-18 [email protected] 24

Page 25: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Design VerificationDesign Verification

• Devise a set of programs maximizing different coverage metrics

DVClub 2010-01-18 [email protected] 25

Page 26: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 26

Page 27: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 27

Page 28: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Experimental ResultsExperimental Results

DVClub 2010-01-18 [email protected] 28

Page 29: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Experimental ResultsExperimental Results

DVClub 2010-01-18 [email protected] 29

230Kinstructions

2,978instructions

Page 30: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Experimental ResultsExperimental Results

DVClub 2010-01-18 [email protected] 30

20h 33h

27h

37h

95h

≈1 week

Page 31: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 31

Page 32: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 32

Page 33: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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

Page 34: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Mobile PhoneMobile Phone

• 12m-activity performed in collaboration with Motorola Research Center in Turin (“Automation of Current Drain Measures”)

DVClub 2010-01-18 [email protected] 34

Page 35: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 35

Page 36: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

StimuliStimuli

• Sequence of keys• Power supply• Network status

DVClub 2010-01-18 [email protected] 36

Page 37: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

FeedbackFeedback

• Physical measures– Power consumption (+ autocorrelation)– Network status

• FSM transition coverage

DVClub 2010-01-18 [email protected] 37

Page 38: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

Experimental ResultsExperimental Results

• Major bugs discovered in the prototype– Test infrastructure– LCD display– Fake deep-sleep state

DVClub 2010-01-18 [email protected] 38

Page 39: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

OutlineOutline

• Proposed methodology• Case studies• Conclusions

DVClub 2010-01-18 [email protected] 39

Page 40: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 40

Page 41: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation

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 [email protected] 41

Page 42: Heuristic Stimuli Generation For Coverage Closure ... · giovanni.squillero@polito.it. GOAL • To propose a methodology for coverage-directed stimuli generation based on simulation