Boosting Convergence of Timing Closure using Feature Selection in a Learning-driven Approach
Que Yanghua, Harnhua Ng, Nachiket Kapre yanghua.que@ntu.edu.sg, nachiket@ieee.org
Boosting Convergence of Timing Closure using Feature Selection in a - - PowerPoint PPT Presentation
Boosting Convergence of Timing Closure using Feature Selection in a Learning-driven Approach Que Yanghua, Harnhua Ng, Nachiket Kapre yanghua.que@ntu.edu.sg, nachiket@ieee.org Claim 2 Claim Feature Selection helps boost AUC scores for
Que Yanghua, Harnhua Ng, Nachiket Kapre yanghua.que@ntu.edu.sg, nachiket@ieee.org
2
Timing Closure ML models by ~10%
2
Timing Closure ML models by ~10%
modifying CAD tool parameters — commercial tool InTime, by Plunify Inc.
2
Timing Closure ML models by ~10%
modifying CAD tool parameters — commercial tool InTime, by Plunify Inc.
— ~80 parameters to 8-22 influential parameters
2
Verilog/VHDL Code FPGA CAD Tool Bitstream (area, delay, power)
3
Verilog/VHDL Code FPGA CAD Tool Bitstream (area, delay, power) CAD parameters
4
Verilog/VHDL Code FPGA CAD Tool Bitstream (area, delay, power) CAD parameters
1 2 3 4 5 6
Frequency of occurence Total Negative Slack (TNS) ecg
5
6
6
— Verified RTL designs expensive to edit — For timing closure, use CAD parameters
6
— Verified RTL designs expensive to edit — For timing closure, use CAD parameters
— free RTL, play with CAD tool parameters — Problem: exhaustive search intractable — Solution: use machine learning!
6
[FPGA’15 Designer’s Day] Preliminary results on customer designs (limited ability to discuss specifics) [FCCM’15 Full] Extended results quantifying ML effects on open-source benchmarks [FPGA’16 Short] Case-for “design-specific” learning instead of building a generic model [FCCM’16 Short] Classifier accuracy exploration across ML strategies, and hyper-parameter tuning
7
— Opportunity for using ML (Slack distribution) — The need for running ML (Entropy/Correlation)
— Impact of features/run samples — ROC curves across designs — Comparing vs. FCCM’16 results
8
— Opportunity for using ML (Slack distribution) — The need for running ML (Entropy/Correlation)
— Impact of features/run samples — ROC curves across designs — Comparing vs. FCCM’16 results
9
— Verified RTL designs expensive to edit — For timing closure, use CAD parameters
— free RTL, play with CAD tool parameters — Problem: exhaustive search intractable — Solution: use machine learning!
10
— record input CAD parameters + timing slack
11
12
— Opportunity for using ML (Slack distribution) — The need for running ML (Entropy/Correlation)
— Impact of features/run samples — ROC curves across designs — Comparing vs. FCCM’16 results
13
14
15
16
17
18
19
20
21
22
best classification
23
24
25
26
27
28
29
— Opportunity for using ML (Slack distribution) — The need for running ML (Entropy/Correlation)
— Impact of features/run samples — ROC curves across designs — Comparing vs. FCCM’16 results
30
31
31
parameters affect timing
31
parameters affect timing
relevant parameters?
31
parameters affect timing
relevant parameters?
technique in ML circles — avoid noise during classification — avoid over-fitting
31
parameters affect timing
relevant parameters?
technique in ML circles — avoid noise during classification — avoid over-fitting
31
— Opportunity for using ML (Slack distribution) — The need for running ML (Entropy/Correlation)
— Impact of features/run samples — ROC curves across designs — Comparing vs. FCCM’16 results
33
34
35
36
Classifier method doesn’t matter
37
Baseline FCCM 2016 result
38
39
2-3x reduction in parallel FPGA CAD runs
40
Outlier — fails to meet timing and quits
41
42
43
Need atleast 20 runs
44
Need 3 rounds x 30 runs configuration
45
Better AUC the more we run
46
47
48
Goldilocks zone
49
Too many features — large training set
50
Too few features — more data required for other features
51
machine learning by ~10%
parameters to explore to <22
specificity
52
— http://bitbucket.org/spinosae/plunify-ml.git — README.md contains instructions for installing and running on your machine
automatically)
53
54
55
Goldilocks zone
56
57
58
Information.Gain consistently best
59
Goldilocks zone
60
61