Professional Documents
Culture Documents
Di1 01 Khor Paper
Di1 01 Khor Paper
Intel Corporation
Bayan Lepas, Penang, Malaysia
www.intel.com
ABSTRACT
Time has changed, technology has evolved so fast that the old ways of doing things are either
obsolete or no longer practical in this modern era. Designing SoCs has never been so
complicated, thus spurring multiple companies to create all kinds of Electronic Design
Automation (EDA) tools to help designers accomplish their work. In this sense, EDA tools are
almost indispensable. However, they are not perfect, or in others words, they might not always
be created in ways that suit the designers. This paper presents several innovations and
enhancements on the existing EDA static timing analysis (STA) flows, making them more useful
to the designers, hence significantly ease their complicated tasks. This is essentially the Swiss
army knife of static timing analysis.
SNUG 2019
Table of Contents
1. Introduction ........................................................................................................................................................................... 3
2. The Enhanced Tools............................................................................................................................................................ 3
2.1 Tight DMSA Hold Fix ............................................................................................................................................ 3
2.2 Regional DMSA Buffer Removal ...................................................................................................................... 4
2.3 Clock Push or Pull Analysis ............................................................................................................................... 5
2.4 Violation Summary Merge and Count........................................................................................................... 6
2.5 Debug Friendly Transitive Reporting ........................................................................................................... 6
2.6 ECO Friendly Path Reporting ........................................................................................................................... 7
3. Results ...................................................................................................................................................................................... 8
4. Conclusions ......................................................................................................................................................................... 10
5. References ........................................................................................................................................................................... 11
Table of Figures
Figure 1. Tight DMSA Hold Fix Options .......................................................................................................................... 3
Figure 2. Hold Fix with PBA Setup Margin .................................................................................................................... 4
Figure 3. Regional DMSA Buffer Removal Options .................................................................................................... 4
Figure 4. Clock Pull Analysis for Hold Violation ......................................................................................................... 5
Figure 5. Native EDA Transitive Report ......................................................................................................................... 7
Figure 6. Debug Friendly Transitive Report ................................................................................................................. 7
Figure 7. Timing Trace from ECO Friendly Path Reporting ................................................................................... 8
Figure 8. EDA Hold Fix versus Tight DMSA Hold Fix ................................................................................................ 9
Figure 9. Fix Log from Tight DMSA Hold Fix ................................................................................................................ 9
Figure 10. Congested Region Selected .......................................................................................................................... 10
Figure 11. Tool Identified Buffers Removal................................................................................................................ 10
Figure 12. Congested Region Cleared............................................................................................................................ 10
Table of Tables
Table 1. Merged Violations Summary Report .............................................................................................................. 6
1. Introduction
Analogous to a Swiss army knife, the innovations and enhancements to the EDA static timing analysis
flows presented in this paper are very handy and simple to use tools for the designers to assist in
their SoC design tasks. The goal is to make these collection of tools an essential part of the STA,
streamlining the design work. The main tools discussed in this paper are the tight DMSA hold fix tool,
which is a fine grain hold fix tool that can utilize PBA setup margin for hold fixing; the regional DMSA
buffer removal tool which enables localized redundant buffer removal; the clock push or pull analysis
tool that assists designers make data driven decisions on clock ECOs; the violations summary merge
and count tool that helps group the violations for easier triaging; the debug friendly transitive
reporting tool that eases path tracing for static values set on the pins; and last but not least, the ECO
friendly path reporting tool which makes it simple for designers to directly know the timing margins
available for timing ECOs. Details of how these aforementioned tools work will be discussed with
actual design data, though redacted to protect confidentiality, to prove the effectiveness of the tools.
Figure 1 above shows the options of tight DMSA hold fix solution. Being a DMSA tool, it can be used
to perform common or endpoint based hold fix across multiple scenarios similar to other EDA hold
fix solutions. However, this solution gives designers more fine grain controllability. As described in
its options, this solution enhances the conventional EDA hold fixing by enabling endpoint specific
hold margins to fix towards to. On top of that, designers are also able to utilize the path-based analysis
(PBA) setup margin for hold fixes, a feature not available in EDA hold fixing. This is very useful in the
case when the more pessimistic GBA setup margin is not enough for hold buffer insertion, but the
insertion is still possible using PBA setup margins. As shown in Figure 2 below, the path is violating
-15ps min hold violation and it should be fixable by inserting a 15ps min hold buffer. However,
considering the min to max hold buffer delay ratio of 2.5 times, the GBA max setup margin is not
enough to accommodate the hold fix. However, the min hold violation is still fixable if the PBA max
setup margin of 60ps is considered instead.
The tight DMSA hold fix discussed here is not meant to replace EDA hold fix solutions. Instead, it is
meant to complement some limitations of the EDA solutions but providing the designers a bit more
flexibility. As such, the recommended usage model is, to converge the hold timing violations with EDA
solutions first, then further complementing it with tight DMSA hold fix to resolve the final few
stubborn hold violations.
Figure 3 shows the options of the regional DMSA remove buffer tool. Designers are able to determine
what the hold margin below which the buffers can be removed by the tool. As shown, designers can
also restrict the buffer removal to a localized region by specifying the lower left and upper right
coordinates of the bounding box. Only buffers with enough hold margin, as well as located within the
bounding box will be considered for removal. To ensure the hold margin is met, the regional DMSA
remove buffer tool has precautionary measures to avoid removing multiple hold buffers within the
same path in a single iteration. On top of that, being a DMSA based tool, it also ensures that the hold
margins from all the scenarios are met before the buffer is being considered for removal. As far as
design rules are concerned, the tool also takes into consideration of the max capacitance and max
transition requirements are still met after buffer removal.
Figure 6 below shows the transitive fanout report of the same path produced by the debug friendly
transitive reporting tool. As noticed, this report has added information to show the exact pins of
which the static value of 0 is being applied, reported as “CASE: 0”, which greatly eases the debug
effort. In addition to showing the static value of the pins if any, this enhanced report also shows if
there is any clock propagating through those pins. For this case, all the pins listed in the report are
purely data pins without any clocks propagating through them, thus they are reported as “CLK: N/A”.
it easy for the designers if they were to upsize or swap any of the cells to speedier ones, which might
cause hold violations if not checked properly. Figure 7 below shows a hold timing path reported with
the ECO friendly path reporting tool. Notice at the side of each non-hierarchical pin, the setup margin
is being annotated, hence making it so simple for the designers to decide which pin is having enough
setup margin to absorb the hold fix.
3. Results
Based on some sample designs, the results of the tight DMSA hold fix and the regional DMSA buffer
removal are discussed in this section.
For the tight DMSA hold fix, a design with 139 hold violating endpoints with WNS of -9.47ps was used
as the test case. With the native EDA timing ECO fix flow, 8 violations were not successfully fixed and
further investigation showed that the GBA setup margins of the pins of the paths were not enough to
absorb the hold fixes. Whereas, using the tight DMSA hold fix tool, all the 139 hold violations were
successfully fixed as it managed to squeeze tight PBA setup margins of the pins for hold fix buffer
insertions, as shown in Figure 8.
Figure 9 below shows excerpt from the tight DMSA hold fix log. The setup slacks highlighted were
based on PBA in the max scenario, whereas, the hold slacks to be fixed were based on min scenario.
Hence, the setup slacks were just enough for the hold buffer insertion, considering that the hold fix
delays required were around 2.5 times of the hold slacks, converting from min scenario to max
scenario. Therefore, EDA hold fix solution could not perform fixes on these paths since the setup
margins taken into consideration were based on GBA.
For the regional DMSA buffer removal test case, a design with moderate level of cell density
4. Conclusions
In summary, the collection of enhanced tools presented in this paper, namely the tight DMSA hold fix,
the regional DMSA buffer removal, the clock push or pull analysis, the violations summary merge and
count, the debug friendly transitive reporting and last but not least, the ECO friendly path reporting
can really be considered as the Swiss army knife of static timing analysis. They are proven to be
simple and effective, streamlining the design work and increase the day-to-day productivity of the
designers. This collection of enhanced tools should be maintained as a baseline, such that new
innovations and enhanced tools can always be added to it.
5. References
[1] Chris M Hotz, “An Efficient Bottleneck based Hold-fixing Flow”, Intel 2012
[2] Wan Chong Khor, “Buffer Harvest - A Contingent Hold Fix Methodology for Metal ECO”, Intel 2011
[3] Oren Kol, “Turning-Point (CDS PT-ECO): A Uniform Combined PrimeTime based Fixer”, Intel 2015
[4] Yair Regev, “Spoon - PV Massive Run and Result Analysis Tool”, Intel 2015