370 likes | 565 Views
High-Dimensional Metamodeling for Prediction of Clock Tree Synthesis Outcomes. Andrew B. Kahng , Bill Lin and Siddhartha Nath VLSI CAD LABORATORY, UC San Diego. Outline. Challenges Testcase generation Design of experiments N ew estimation technique Prediction methodologies
E N D
High-Dimensional Metamodeling for Prediction of Clock Tree Synthesis Outcomes Andrew B. Kahng, Bill Lin and Siddhartha Nath VLSI CAD LABORATORY, UC San Diego
Outline • Challenges • Testcase generation • Design of experiments • New estimation technique • Prediction methodologies • Validation of our methodologies • Conclusions
Challenge: High Dimensionality • Why is CTS prediction hard? Testcases Outcomes? (power, skew, delay, wirelength) Layout contexts Tools & knobs CTS instance CTS prediction is difficult due to inherent high dimensionality
Challenge: Sensitivity • Delay varies by up to 43% with clock entry point locations • Delay varies by up to 45% with core aspect ratio R RBM B BL BLM CTS outcomes are sensitive to instance parameters
Challenge: Multicollinearity • Estimation error % = % difference between actual and predicted outcomes • Up to 5 estimation errors as D increases from eight to 13 for MARS, RBF and KG techniques D = 5 4 Estimation errors increase at high dimensions
Challenge: Realistic Instances Sinks (x, y) ISPD 2010 CTS Benchmark 01 Rectangular core Placement blockage Simple testcases and layout contexts do not reflect real-world CTS instances
Contributions • Generate realistic testcaseswith real-world CTS structures • Study and identify appropriate modeling parameters • Propose hierarchical hybrid surrogate modeling (HHSM)– a divide and conquer approach to overcome parameter collinearity issues • Develop prediction methodologies for practical use models • Which tool should be used? • How should the tool be driven? • How wrong can the model guidance be? • Validate methodologies on a new CTS instance
Related Works • Testcases • Tsay90 • CTS testcases r1 - r5 with sink (x, y) coordinates • ISPD 2010 • Placement blockage • Inverters/buffers in clock hierarchy • Prediction • Kahng02 • CUBIST to estimate clock skew, insertion delay • Kahng13 • MARS, RBF, KG, HSM to estimate several clock metrics • Uniform placement of sinks, no combinational logic Gaps in testcases and layout contexts
Outline • Challenges • Testcase generation • Design of experiments • New estimation technique • Prediction methodologies • Validation of our methodologies • Conclusions
Example of Our CTS Testcase Glitch Free MUX Sinks cg_en[1] • Real-world clock structures • Clock-gating cells (CGCs) • Clock dividers • Gitch-free clock MUX • Multiple levels in the clock tree hierarchy (K6 vs. K2) • Generators, runscripts to be published cg_en[0] K1 CGC clk CGC DIV-4 cg_en[2] mux_en[0] K2 DIV-8 CGC Clk root pin cg_en[3] K3 CGC cg_en[4] K4 CGC cg_en[5] DIV-24 K5 CGC cg_en[6] K6 CGC
Example of Our CTS Instance Clock dividers Sinks (x, y) Buffers Clock-gating cells Clock MUX Nonuniform sink placement Core (aspect ratio =1) Placement and routing blockage Clock entry point location
Outline • Challenges • Testcase generation • Design of experiments • New estimation technique • Prediction methodologies • Validation of our methodologies • Conclusions
Modeling Parameters • Microarchitectural • Msinks – # sinks • Floorplan context • Mcore, MAR – core area and aspect ratio • MCEP – clock entry point • Mblock – placement and routing blockage % of core area • Tool constraints • Mskew, Mdelay – max skew and insertion delay • Mbuftran, Msinktran – max buffer and sink transition time • MFO – max fanout • Mbufsize, Mwire– max buffer size and wire width • Nonuniformity measure • MDCT–nonuniformity in sink placement
Modeling Flow Testcase Verilog RTL Floorplan parameters Synthesis (DC) µArch parameter Gate-level netlist Generate placed DEF CTS instance Nonuniformity parameter CTS tool parameters CTS + CT route (ToolA) CTS + CT route (ToolB) Extract CTS metrics Metamodeling Fitted models for metrics
Metamodeling Techniques • Accurate because they derive surrogate models from actual post-CTS data • Our techniques • Hybrid Surrogate Modeling (HSM) [Kahng13] • Multivariate Adaptive Regression Splines (MARS) [Friedman91] • Radial Basis Function (RBF) [Buhmann03] • Kriging (KG) [Matheron78]
Outline • Challenges • Testcase generation • Design of experiments • New estimation technique • Prediction methodologies • Validation of our methodologies • Conclusions
Multicollinearity • If parameters are linear combinations of each other • Example: MAR, Mbuftran, Msinktran, Mwire • Matrix of parameters is ill-conditioned • Large variance in regression coefficients • Hard to determine relationship between parameters and output • Large errors between actual and predicted outputs as Dincreases • Previous works [Kahng13] report large estimation errors (≥ 30%) as D ≥ 10
Our Solution: HHSM • Hierarchical Hybrid Surrogate Modeling • Divide the parameters (D) into two sets • One set of k parameters has low collinearity • Other set of D – k parameters may have high collinearity • Derive HSM surrogate models for each set • Combine using weights from least-squares regression where, w1,2 are weights w1 : k parameters with low collinearity w2 : D – k parameters with high collinearity
HHSM Accuracy D = • Up to 4reduction in estimation errors • HHSM errors vary by ≤ 2% as D increases from eight to 13 • Worst-case error ≤ 13% 4 ≤ 13% ≤ 2% 2
Outline • Challenges • Testcase generation • Design of experiments • New estimation technique • Prediction methodologies • Validation of our methodologies • Conclusions
Use Models For Prediction • Develop methodologies to answer three questions • Q1: Which tool should be used? • Q2: How should the tool be driven? • Q3: How wrong can the model guidance be?
Q1: Which Tool Should Be Used? • Methodology • Determine the better tool using models • Compare with actual post-CTS data Incorrect Tool Prediction % • Errors increase 8 ≤ D ≤ 11 • Errors saturate D ≥ 12 • Worst-case prediction error = 6.13%
Q2: How Should The Tool Be Driven? • Methodology • Determine the smallest and largest values of parameters that deliver desired outcome Parameter subspaces for tools N – infeasible X - unbounded
Q3: How Wrong Can The Guidance Be? • Methodology • Compare model and actual outcomes of tools • If model is wrong, Wrong guidance % and suboptimality % • Suboptimality≤ 10%
Outline • Challenges • Testcase generation • Design of experiments • New estimation technique • Prediction methodologies • Validation of our methodologies • Conclusions
Validation on “New” CTS Instance • How well does our prediction methodologies generalize? • Goals • Apply methodologies to a new CTS instance • Obtain skew target ≤ 30ps • Determine parameter values from subspace results of Q2 • Generalizes with small overhead • Few CTS runs to deliver the desired outcome
Outline • Challenges • Testcase generation • Design of experiments • New estimation technique • Prediction methodologies • Validation of our methodologies • Conclusions
Conclusions • Study high-D CTS prediction with appropriate modeling parameters • Generate testcaseswith real-world CTS structures • Propose HHSM to limit error to≤ 13% even withmulticollinearity • Develop methodologies for practical use models • Ongoing work • Learning techniques to cure high-Dmulticollinearity • Methodologies to characterize EDA tools • Apply methodologies to reduce time and cost for IC implementation
Acknowledgments • Work supported by NSF, MARCO/DARPA, SRC and Qualcomm Inc.
Brief Background on Metamodeling • General form of estimation where, Predicted response deterministic response Random noise function Regression coefficients
Regression Function: MARS where, Ii : # interactionsin the ith basis function bji: ±1 xv: vth parameter tji: knot location Knot = value of parameter where line segment changes slope
Regression Function: RBF where, aj: coefficients of the kernel function K(.): kernel function µj: centroid rj: scaling factors
Regression Function: KG where, R(.): correlation function (Gaussian, linear, spherical, cubic, …) : correlation function parameter
Hybrid Surrogate Modeling (HSM) • Variant of Weighted Surrogate Modeling but uses least-squares regression to determine weights where, w1,2,3 are weights of predicted response of surrogate model for w1: MARS w2 : RBF w3 : KG