6. Formal Verification: Improved Engine Throughput
Assertion1
Assertion2
Assertion3
DESIGN
Constraints
Engine E1 Engine E2 Engine En
+
ML
optimization
Server Farm
Property P1
Property P2
Property P3
Properties Dispatched
to Formal Engines
P1 P2 P3 …
ML
Optimization
Challenges:
• Hundreds/thousands of properties
• 30+ formal engines/solvers
• Fixed number of machines
• Limited time
• Numerous runs with incremental RTL
changes
Orchestration
[Synopsys 2018]
6
7. Default Convergence
ML Convergence
Verification Throughput Optimization
• Formal Verification problems are exponential in nature (NP complete) -
- at some point little incremental progress will be made
StateSpaceExplored
Time and Compute Resources
time & resources saved
Gain
[Synopsys 2018]
8. Optimizing Random Test Constraints Using RL
• Constrained random simulation widely used to
explore common and uncommon design corner
cases
– Generation of random instruction streams controlled
through a set of adjustable constraints
• Hard bugs difficult to find
– Random distributions hit common case often
• Insight:
– Evaluate each test on its “quality”
– Drive simulation coverage based on quality
• Measuring Quality:
– Non-trivial bugs require a combination of events and
state changes to occur in close proximity
=> Approximation for “events lining up” = Two flops
toggling in close proximity in time
– This measure requires no understanding of the design
Majority of Search
Sokorac – DVCON 20178
9. Optimizing Random Test Constraints Using RL
• Total toggle pairs a test produces: – indication
of the volume of activity
– Optimize for hard to hit bins that are rarely exercised
• Having a “score” for a test good for learning
algorithms
– High score => High activity of rare events in the test
• RL Algorithm
– Select a random population of tests, and evaluate
each
• Create the next generation of tests by
– Mutating (slightly adjusting constraints) current tests
– Mating (take an average of two tests) current tests
– Compute evaluation score based on toggle pair
coverage
• Select next round of tests based on evaluation score Sokorac – DVCON 2017
Toggle Matrix (Yellow=>high activity)
9
10. Static LP Verification: Noise Reduction and RCA
(UPF)
PST_VOLTA
GE_DROPPE
D? (UPF)
UPF_SUPP
LY_NOSTA
TE
(PG)
PG_CSN_
CONN?
VD
D
VDD1
VDDVDD1
1’b0
(DESIGN)
LS_INST_TIEL
O?
iso1
ret1
iso2
iso3
ret3
ret4
ret5
ret6iso6
ret7
iso8
iso3
ret12
iso21
ret13
ret11
iso1
ret4
iso3
iso21
Encoding
Dimensional
ity
reduction
Clustering
Score
&Select
Clusters
100K to Million Violations
10X Fewer
Violations for
Analysis
Root Cause
Information
Root
Cause
Analysis
[Synopsys 2018]
10
14. Machine Learning Negative Tone Development (NTD) Model Calibration
Training :
Resist
Simulation
Fabrication and
SEM
Measurements
Training Data
Machine Learning System
ML
Model
! "
#: ! → "
! "
Optics
Simulation
Results :
Input mask
Predicted Resist ContourAerial Image
! "
SEM images from IMEC
Optics Simulation
DL
Model
Comparison of Optical Iso-contour and
Resist Contour
[Synopsys 2018]14
15. Learn how to approximate the behavior of a computationally-expensive function from
examples.
Supervised Learning to Approximate Physics Systems
Data Storage Model Training
Platform
Partial Differential Equation Solvers
Example Simulated
Results
High-Speed Manufacturing Production Line
Application
Accelerated ML
Model
Development Phase : Training Data
Generation and Model Training
Manufacturing Phase : Inference
[Synopsys 2018]15
16. Production Line Manufacturing Optimization
Enable and Optimize Yield for Production-line Manufacturing Tools
[Synopsys 2018]
16
20. Word2Vec
• Matrix representation is very inefficient
– Vocabulary of 100k words
– Representation of word is a one-hot encoding
– Representation of ”the dog is on the table”
• R(”dog”) | R(”is”) | R(”on”) | R(”the”) | R(”table”)
• ! ∶ #$%&' → {0,1}|/0123|
• Can we find a representation that is denser than
one-hot encoding
0 0 1 1 0 1 1 1
…
1 1 0 0 1 0 1 1
sentences
words
22. Using ML/DL for Debugging
• Using word2vec to code waveforms
0 0 1 1 0 1 1 1
…
1 1 0 0 1 0 1 1
cycles
!"#$%&!'
23. 0 0 1 1 0 1 1 1
…
1 1 0 0 1 0 1 1
Using ML/DL for Debugging
cycles
!"#$%&!'
0 0 0 0 0 0 0 0
0 0 1 1 0 1 1 1
…
1 1 0 0 1 0 1 1
!"#$%&!'()
A + B – C = D
Can be used to extract relations/properties between events for any
number of cycles
24. Optimize Engineering Productivity with ML
Smarter Flows
Productivity
Auto Triaging – Failures, Bugs, and
Logs
Parameter Tuning and
Optimization
Actionable, Predictive Insights
Quality
Test Analytics
Check-in Risk Advisor
Global Release Dashboard
Smarter Operations
Cost
Optimized Test Selection
Optimized Grid Scheduling
Real-time guidance, prescriptive insights, and resource optimization
[Synopsys 2018]
25. SAT Solver Parameter Tuning and Solver Selection
for Formal Verification
• SAT is NP complete
– Little hope we will find efficient solver that fits all problems
• Different solvers have strengths and weaknesses
– MiniSat, MarchSAT, …
• Each solver has a number of parameters that can perform well
on certain types of problems
26. Parameter Tuning and SAT Solver Selection
Features
1. Property circuit level
2. SCOAP cycles
3. Number of flops uninitialized after RESET
4. Circuit Testability Index
5. Property Testability Index
6. SCOAP adjusted flops
7. SCMax
8. Number of flops
9. Number of gate bits
10. Number of free variables
11. Number of bits directly affected by constraints
12. Number of counters flops
13. Number of FSM flops
14. Number of memory array flops
Penido et al, STTT 2010
We know the problem is NP complete, but
different engines may affected differently by the
features, some polynomially and some exponentially
We attempt to optimize how many instances we can
run to reduce the risk of a property not being proven
30. Easy: Data Availability
• Does data reside in
customer IT systems?
• Is data shipped to tool
vendor?
• On-site learning vs off-line
learning
• Encryption/Anonymization
30
To ML Pipeline
31. Hard: Data Ownership
• Who owns the data
generated during tools
runs on customer designs?
– Value extraction ($$)
• Can the data obtained
from one customer’s
design be used to improve
the tool for another
customer?
31
To ML Pipeline
32. Model
• Parameters learned on
customer site
– Can these be shipped back to
vendor?
• Can this be used to refine models
further by vendor into newer
products?
– Can these be shipped to other
customers?
• Similar questions for hyper
params
• Model type/topology IP
– Does exposing to
parameters/data expose IP?
32
33. Concluding Remarks
• Opportunities for ML extend across all design abstraction levels
– Large gains in performance and productivity
• Creating labeled datasets for training is a must
– Unsupervised, Semi-supervised and Reinforcement Learning provide
powerful capabilities
• Leverage ML for tool flows as well
– Can provide significant ROI
• Data availability and ownership issues must be resolved
33