CAD Tool Design Space Exploration via Bayesian Optimization Yuzhe Ma 1 , Ziyang Yu 2 , Bei Yu 1 1 Chinese University of Hong Kong 2 University of Hong Kong 1 / 18
Design Flow System Specification Architectural Design module test input in[3]; … endmodule Functional Design and Logic Design (RTL) AND OR ◮ It’s really a long journey; Logic Synthesis ◮ Each step is more complicated as Physical Design the technology node advances; DRC Physical Verification and ◮ Huge effort is needed to achieve the LVS Signoff STA desired design quality. Fabrication Packaging and Testing Chip 2 / 18
Case Study: Adder Design Binary Adder ◮ Primary building blocks in the datapath logic of a microprocessor. ◮ A fundamental problem in VLSI industry for last several decades. Anything else we can do? 3 / 18
Gaps Between Design Stages 6 5 4 Level 3 2 1 0 63 60 57 54 51 48 45 42 39 36 33 30 27 24 21 18 15 12 9 6 3 0 ◮ Logic synthesis v.s. physical synthesis ◮ Constraints mapping between two synthesis stages is difficult. 4 / 18
Design Space – Front-End Parallel Prefix Adders → Flexible delay-power trade-off Regular Adders → Sub-optimal Custom Adders → High TAT 5 / 18
Design Space – Back-End ◮ Tool settings. Huge space for different options. Source: ICC documentation 6 / 18
Design Space Exploration 8000 Real PF Rep. Adder 7500 ◮ Search for the Pareto-optimal Power( µ w) designs; 7000 ◮ None of the objective metrics, such 6500 as area, power or delay, can be improved without worsening at least 6000 one of the others. 340 360 380 400 420 440 Critical Delay(ps) 7 / 18
Bayesian Optimization ◮ Good candidate to optimize functions that take a long time to evaluate. ◮ Can tolerate stochastic noise in function evaluations. Simulated data Surrogate Acquisition model fucntion Black-box model Optimization model Proposed data ◮ Acquisition function serves as a utility measurement to select the next point for evaluation; ◮ Surrogate model is adaptively refined to approximate the latent function. 8 / 18
Gaussian Process Regression ◮ Gaussian process regression is a Bayesian statistical approach for modeling unknown functions. 20 Prediction 95% confidence interval 15 ◮ Prior: f ∼ GP ( 0 , k ( · , · )) 10 ◮ Posterior: f ( x ) 5 0 � m ( x ) = k ( x , X ) ⊤ ( k ( X , X ) + σ 2 I ) − 1 Y , 5 σ 2 ( x ) = k ( x , x ) − k ( x , X ) ⊤ ( k ( X , X ) + σ 2 I ) − 1 k ( x , X ) , 10 0 2 4 6 8 10 x 9 / 18
Acquisition Function Expected Improvement (EI) Lower Confidence Bound (LCB) ◮ EI ( x ) = σ ( x )( λ Φ( λ ) + φ ( λ )) , where ◮ LCB( x ) = m ( x ) − βσ ( x ) ; λ = τ − ξ − µ ( x ) σ ( x ) ◮ m ( x ) indicates the “exploitation” and ◮ The expected improvement function σ ( x ) indicates the “exploration”; favors the optimal region with high ◮ β is a parameter that balances the probability and the promising area with exploitation and exploration. high uncertainty estimation. 10 / 18
Overall Flow S1: S2: S3: Sample Evaluate Model update Acquisition Configuration Area, Power, Delay EDA tools GP Regression Function Surrogate Model 11 / 18
Experimental Configurations ◮ Design: - DesignWare library, - Regular: Sklansky, Kogge-Stone, - Synthesized prefix adder [Ma+, TCAD’2019]. ◮ Flow: - Cell library: 32nm SAED; - Tools: DC 2014 & ICC 2017. ◮ Design space: - Parameters in timing constraints, placement utilization, power options, etc. 12 / 18
BO vs. Industrial Setting ◮ DSE with single objective ◮ Baseline: a set of complete scripts for adder synthesis from industrial. Baseline BO Baseline BO 360 Area ( µ m 2 ) 2 , 000 Delay ( ps ) 340 1 , 000 320 0 300 DesignWare Sklansky Kogge-Stone Synthesized DesignWare Sklansky Kogge-Stone Synthesized 13 / 18
BO vs. Industrial Setting ◮ DSE with multiple objectives using scalarization Baseline BO (Kogge-Stone) (DesignWare) 1 1 Ratio 0 . 95 0 . 95 Area Energy Delay Area Energy Delay (Synthesized) (Sklansky) 1 1 Ratio 0 . 95 0 . 95 0 . 9 0 . 9 0 . 85 0 . 85 Area Energy Delay Area Energy Delay 14 / 18
BO vs. Heuristic Search ◮ Evolutionary algorithms are widely applied in black-box function optimization; ◮ Genetic algorithm (GA) is not as stable as Bayesian optimization. BO BO 1 , 860 420 GA GA 1 , 840 Area ( µ m 2 ) Delay ( ps ) 400 1 , 820 380 1 , 800 360 1 , 780 0 10 20 30 0 10 20 30 Iteration Iteration 15 / 18
Scaling Trick Scale-up Scale-down 1 . 04 (Kogge-Stone) (DesignWare) 1 1 . 02 0 . 98 Ratio 1 0 . 96 0 . 98 0 . 94 0 . 96 Area Energy Delay Area Energy Delay (Synthesized) (Sklansky) 1 1 Ratio 0 . 98 0 . 98 0 . 96 0 . 96 0 . 94 0 . 94 Area Energy Delay Area Energy Delay 16 / 18
Discussion & Conclusion Conclusion ◮ A machine learning approach for better design; ◮ Adapt BO for multi-objective optimization to simultaneously minimize PPA values; ◮ BO substantially outperforms typical evolutionary algorithms. 17 / 18
Discussion & Conclusion Conclusion ◮ A machine learning approach for better design; ◮ Adapt BO for multi-objective optimization to simultaneously minimize PPA values; ◮ BO substantially outperforms typical evolutionary algorithms. Further Improvement ◮ A unified design space for exploration. - � Currently the design spaces of front-end and back-end are separated. ◮ A more elegant way to handle multi-objective optimization. - � Scalarization requires tuning effort and data processing tricks. 17 / 18
Thank You 18 / 18
Recommend
More recommend