210 likes | 352 Views
Toward Effective Utilization of Timing Exceptions in Design Optimization. Kwangok Jeong, Andrew B. Kahng and Seokhyeong Kang VLSI CAD LABORATORY, UCSD. Outline. Timing exceptions vs. design outcomes Q1. Do timing exceptions help or hurt? Q2. Which exceptions give net benefit when inserted?
E N D
Toward Effective Utilization of Timing Exceptions in Design Optimization Kwangok Jeong, Andrew B. Kahng and Seokhyeong Kang VLSI CAD LABORATORY, UCSD
Outline • Timing exceptions vs. design outcomes • Q1. Do timing exceptions help or hurt? • Q2. Which exceptions give net benefit when inserted? • Q3. When should exceptions be identified and applied? • Guidelines to timing exceptions • Conclusion and ongoing work
Timing Exceptions vs. Design Outcomes Advantage Timing exceptions reduce pessimism in STA Help ease the task of timing closure step Testcase: AES cipher • Adding exceptions doesn’t always lead to better QoR • Rutime increase with small improvement in TNS runtime area TNS • Our target • Evaluate the impact of timing exceptions • Give guidelines for designers / EDA vendors
Q1. Do timing exceptions help or hurt? Impact of timing exceptions in optimization
Do Timing Exceptions Help or Hurt? Help Remove over-constraint Prevent excessive optimization Hurt Add complexity in optimization Prevent restructuring • Restructuring of full-adder circuit
Impact of Timing Exceptions in Optimization Quality of optimization in commercial tools after applying different types of exceptions Test case : 4-bit ripple carry adder Timing is improved without ‘through’ points FP and MCP have the same impacts on timing and area
Experiment with Artificial Circuit Applying different number of FPs Optimization results in 2-stage and 8-stage circuit. Restructured unit
Q2. Which exceptions give net benefit when inserted? Critical and effective timing exceptions
Which exceptions give net benefit when inserted? Exceptions space according to format and criticality Critical / effective exceptions will give benefit Need to audit exceptions to obtain beneficial timing exceptions
Critical Timing Exceptions • WNS after applying top-k% of exceptions (AES cipher) • Timing slack is not improved by non-critical exceptions • Critical timing exceptions without “through” (Critical MCP) effectively reduce the WNS
Effective Timing Exceptions • Ineffective exceptions • Many false paths are not effective due to an interleaved true path • Do not contribute on reducing constraints and increase the runtime • Method for filtering out ineffective exceptions • Use for metrics to quantify the effectiveness of timing exceptions • Path A is ineffective false path because of a true path B • c : cell, p : path • s’c (sc) slack of timing point c after (before) defining p as a false path • nc : number of timing point in p • sc_end : end point
Q3. When should exceptions be identified and applied? Design stages to extract and apply timing exceptions
When should exceptions be identified and applied? Identify the most beneficial design stages for extraction / application Higher benefit can be obtained when exceptions are extracted as late as possible applied as early as possible
Timing correlation between design stages • Timing between synthesis and placement is not well correlated • After placement, timing correlation is improved
Design Stages to Extract and Apply TE • Timing exceptions need to be extracted after placement or placement optimization stages. • QoR after applying false path exceptions in each stage
Outline • Timing exceptions vs. design outcomes • Q1. Do timing exceptions help or hurt? • Q2. Which exceptions give net benefit when inserted? • Q3. When should exceptions be identified and applied? • Guidelines to timing exceptions • Conclusion and ongoing work
Guidelines to Timing Exceptions • Recommended flow for timing exceptions • Use only clearly effective timing exceptions. • With ‘through’ points, the optimization quality is not improved, and can even be degraded. • The declaration form must be as compact as possible. • Timing exceptions should be extracted after placement. • Non-effective false paths should be filtered.
Conclusion and Ongoing Work • Impact of timing exceptions - inserting exceptions could be beneficial or harmful • Critical and effective timing exceptions should be extracted and applied after the placement stage • Ineffective false paths should be pruned for better QoR. • Ongoing work • Seek the ways of extracting and auditing consistently • Seek quantified metrics of both user- and automatically-defined TE • Pursue timing exception methodology for general SOC implementation