13.07.2015 Views

Toward Effective Utilization of Timing Exceptions in ... - IEEE Xplore

Toward Effective Utilization of Timing Exceptions in ... - IEEE Xplore

Toward Effective Utilization of Timing Exceptions in ... - IEEE Xplore

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Toward</strong> <strong>Effective</strong> <strong>Utilization</strong> <strong>of</strong> <strong>Tim<strong>in</strong>g</strong> <strong>Exceptions</strong> <strong>in</strong> Design OptimizationKwangok Jeong, Andrew B. Kahng, Seokhyeong KangUniversity <strong>of</strong> California. San DiegoAbstract-<strong>Tim<strong>in</strong>g</strong> exceptions <strong>in</strong> Ie implementation processes, especiallytim<strong>in</strong>g verification, help reduce pessimism that arises fromunnecessary tim<strong>in</strong>g constra<strong>in</strong>ts by mask<strong>in</strong>g non-functional critical paths.Ideally, tim<strong>in</strong>g exceptions should always be helpful for quality <strong>of</strong> results(QOR) metrics such as area or number <strong>of</strong> tim<strong>in</strong>g violations, and fordesign turnaround time (TAT) metrics such as tool runtime and number<strong>of</strong> design iterations. Weexpect this positive impact s<strong>in</strong>ce tim<strong>in</strong>g exceptionsreduce the number <strong>of</strong> constra<strong>in</strong>ts that the design optimization mustsatisfy.In this work, we evaluate the impact <strong>of</strong> tim<strong>in</strong>g exceptions on designQOR and TAT, with respect to (1) the forms <strong>in</strong> which tim<strong>in</strong>g exceptionare declared, (2) the tim<strong>in</strong>g criticality <strong>of</strong> the target paths, (3) the number<strong>of</strong> applicable exceptions, and (4) the design stages at which tim<strong>in</strong>gexceptions are extracted and applied. From our experimental analyses,we observe that apply<strong>in</strong>g more exceptions <strong>in</strong> commercial tool flows doesnot consistently lead to better QOR, and <strong>of</strong>ten only <strong>in</strong>creases runt imeunnecessarily. We analyze potential causes <strong>of</strong> unwanted impacts <strong>of</strong> tim<strong>in</strong>gexceptions, and exam<strong>in</strong>e various methods to filter out <strong>in</strong>effective tim<strong>in</strong>gexceptions.Implications <strong>of</strong> our study give prelim<strong>in</strong>ary guidel<strong>in</strong>es for designersand EDA vendors regard<strong>in</strong>g the use <strong>of</strong> tim<strong>in</strong>g exceptions <strong>in</strong> designoptimization processes. Our work hopefully lays a foundation for noveldesign methodologies that can maximize the benefits <strong>of</strong> tim<strong>in</strong>g exceptions.I. INTRODUCTIONAs the complexity and size <strong>of</strong> Ie designs <strong>in</strong>crease , exhaustivefunct ional verification us<strong>in</strong>g event-based dynamic logic simulationshas reached its limits. Gene ration <strong>of</strong> vectors consider<strong>in</strong>g all feasibleoperat<strong>in</strong>g scenarios is difficult, and requ ires excessive simulationruntime for large designs. As a result, the static tim<strong>in</strong>g analysis(STA) verification methodology has become ubiquitous for des ignsign<strong>of</strong>f. STA cons iders all poss ible signal trans itions <strong>in</strong> a des ign,but <strong>in</strong> a static way. S<strong>in</strong>ce STA does not fully consider whether agiven signal transition can occur <strong>in</strong> actual operation <strong>of</strong> the design,the STA verification methodology can report tim<strong>in</strong>g failures ontim<strong>in</strong>g paths that are not exercised dur<strong>in</strong>g actual operations . Thus ,tim<strong>in</strong>g optim ization based on (<strong>in</strong>cremental) STA results will expendunnecessary effort to meet tim<strong>in</strong>g requirements for non- funct ionalpaths.To avoid such unnecessary pessimism <strong>in</strong> STA, tim<strong>in</strong>g exceptionsare used <strong>in</strong> the desig n verification stage to filter out violations thatcorrespond to non-functional tim<strong>in</strong>g paths. There are two majortypes <strong>of</strong> tim<strong>in</strong>g exceptions: (I) false paths that cannot be sens itizedby any <strong>in</strong>put vectors , and (2) multicycle paths along which signalpropagation does not have to complete with<strong>in</strong> one clock cycle.The former completely ignores tim<strong>in</strong>g requirements, while the latterrelaxes tim<strong>in</strong>g requirements for the specified paths .False paths <strong>in</strong> logic circuits have been stud ied <strong>in</strong> previous work s[1], [2], [3] and [4]. Multicycle paths have also been <strong>in</strong>vestigated <strong>in</strong>the literature [5], [6], [7]. Liou et al. [8] present a false-path-awarestatistical tim<strong>in</strong>g analysis framework. Higuch i et al. [9] <strong>in</strong>vestigateon a multicycle path analys is and detect<strong>in</strong>g method. Yang et al. [10]propose an algorithm to identify multi cycle and false paths . However,most <strong>of</strong> the prev ious works present methods to identi fy false paths ormulti cycle paths , and focus on the use <strong>of</strong> tim<strong>in</strong>g exceptions at tim<strong>in</strong>ganalysis and verification stages .Separately from academic <strong>in</strong>vestigations, designers have longanalyzed tim<strong>in</strong>g paths and specified tim<strong>in</strong>g exceptions manually.Such manual works are time-consum<strong>in</strong>g and always error-prone.Furthermore, with the <strong>in</strong>crease <strong>of</strong> system-on-chip (SOC) design sizeand complexity, tim<strong>in</strong>g exceptions can easily take up many thousands<strong>of</strong> l<strong>in</strong>es <strong>in</strong> the 'golden' constra<strong>in</strong>t file at sign<strong>of</strong>f. Henc e, manualidentification and specification <strong>of</strong> valid tim<strong>in</strong> g exceptions is <strong>of</strong>ten<strong>in</strong>feas ible. Recent commercial tools such as Cobalt [20], FishTail [21]and SpyGlass [17] exemplify the drive for more effecti ve automaticgene ration and verification <strong>of</strong> tim<strong>in</strong>g excep tions with m<strong>in</strong>imumdesigner effort . It is expected that such tools will be very helpful<strong>in</strong> improv<strong>in</strong>g designer productivity.IIdeally, add<strong>in</strong>g tim<strong>in</strong>g exceptions on the critical path <strong>of</strong> a designwill reduce constra<strong>in</strong>ts and optimization effort, so that runtime andarea will also be reduced. However, add <strong>in</strong>g more exceptions doesnot always result <strong>in</strong> better QOR and TAT, s<strong>in</strong>ce too many exceptionsrequir<strong>in</strong>g special care <strong>in</strong> design optimization can give rise to negativeside effects on optimization runtim e and quality. Figure I shows therapid runtime <strong>in</strong>crease with <strong>in</strong>creas<strong>in</strong>g number <strong>of</strong> tim<strong>in</strong>g exceptions ­without improv<strong>in</strong>g des ign area , and with small improvement <strong>in</strong> totalnegative slack (TNS). The test case is the AES cipher circuit <strong>in</strong> Tablev.353025"·E c 20E15""."~..10Ẹ.0z-. Normalized TNS..... . Normalized area-+-Nonnalized runtime+--"-----~---~---~---~----+ 0.928197048Number <strong>of</strong> tim<strong>in</strong>g exceptionsFig. I. Normalized runtime, area and TNS for the AES cipher testcase afterplacement and rout<strong>in</strong>g, versus the number <strong>of</strong> tim<strong>in</strong>g exceptions applied.Given the above, it is necessary to analyze the benefits <strong>of</strong> <strong>in</strong>troduc<strong>in</strong>g tim<strong>in</strong>g exceptions <strong>in</strong> des ign optim ization processes, and todevelop a new design methodology that effectively utilizes tim<strong>in</strong>gexceptions. In this paper, we explore the impact <strong>of</strong> tim<strong>in</strong>g exceptions<strong>in</strong> the design implementation flow through experiments that addressthree fundamental driv<strong>in</strong>g questions:I) Do tim<strong>in</strong>g exceptions help or hurt <strong>in</strong> design optimization?2) Which exceptions give net benefit when applied?3) When can such help ful exceptions be identified with sufficientaccuracy?Our contributions are summarized as follows.• We evaluate the impacts <strong>of</strong> tim<strong>in</strong>g exceptions on design QORand TAT, and show that not all tim<strong>in</strong>g exceptions are beneficial<strong>in</strong> design optimization processes.• We analyze the characteristics <strong>of</strong> tim<strong>in</strong>g exceptions and classifyeffective vs. <strong>in</strong>effective tim<strong>in</strong>g exceptions.• We exam <strong>in</strong>e various potential metrics to quantify the effectiveness<strong>of</strong> tim<strong>in</strong>g exceptions.l<strong>in</strong> SpyGlass[17], tim<strong>in</strong>g exceptions are generated from a list <strong>of</strong> tim<strong>in</strong>gcritical paths reported from STA tools, and each critical path is then testedwhethertrue or false. Hence, auto-generated exceptions fromcommercial toolsresemble the tim<strong>in</strong>g reports format whichdef<strong>in</strong>es one startpo<strong>in</strong>t, one endpo<strong>in</strong>t,and several <strong>in</strong>termediate po<strong>in</strong>ts along a tim<strong>in</strong>g path. However, designersdef<strong>in</strong>e tim<strong>in</strong>g exceptions based on the knowledge <strong>of</strong> functionality, and usesimplest forms, omitt<strong>in</strong>g detailed po<strong>in</strong>ts <strong>in</strong> tim<strong>in</strong>g paths, to reduee the effort<strong>of</strong> describ<strong>in</strong>g many tim<strong>in</strong>g exceptions manually.14096281931.11.050.95978-1-4244-6455-5/10/$26.00 czorc <strong>IEEE</strong> 54 11th Int'l Symposium on Quality Electronic Design


• We give guidel<strong>in</strong>es and a design methodology to utilize tim<strong>in</strong>gexceptions <strong>in</strong> design optimization.The rema<strong>in</strong>der <strong>of</strong> our paper is organized as follows . Section IIpresents motivational hypotheses on the <strong>in</strong>sertion <strong>of</strong> tim<strong>in</strong>g exceptions<strong>in</strong> design optimization processes. The hypotheses are analyzedexperimentally <strong>in</strong> Sections III, IV and V. Based on observations fromour experiments, <strong>in</strong> Section VI we propose useful tips and a potentialdesign methodology to use tim<strong>in</strong>g exceptions more effectively <strong>in</strong> designoptimization. F<strong>in</strong>ally, Section VII summarizes our conclusions.Fig. 2.II. BACKGROUND AND DRIVING QUESTIONS<strong>Tim<strong>in</strong>g</strong> except ions are described <strong>in</strong> Synopsys Design Constra<strong>in</strong>ts(SOC) format which def<strong>in</strong>es detailed tim<strong>in</strong>g requirements for thedesign, e.g., clock cycle time and waveforms, I/O delays , and tim<strong>in</strong>gexceptions. The <strong>in</strong>formation can be passed to synthesis, tim<strong>in</strong>g-drivenplacement and rout<strong>in</strong>g tools, and f<strong>in</strong>al sign<strong>of</strong>f static tim<strong>in</strong>g analysis(STA). Synopsys also provides a guidel<strong>in</strong>e [12] for us<strong>in</strong>g the SOCformat.Designers usually describe tim<strong>in</strong>g exceptions consider<strong>in</strong>g functionalor architectural attributes <strong>of</strong> the design . Automatically generatedtim<strong>in</strong>g exceptions can be added from commercial tools, suchas those noted above, which support a path-validation function .In the SOC, tim<strong>in</strong>g exceptions for false paths and multicyc1epaths are def<strong>in</strong>ed us<strong>in</strong>g the keywords 'set.false.path ' and'set.multicycle.path ', respectively. <strong>Tim<strong>in</strong>g</strong> exception def<strong>in</strong>itions canbe categorized as shown <strong>in</strong> Figure 2.[Classuser def<strong>in</strong>edautomaticallygeneratedType Form Po<strong>in</strong>tfalse Path [ -from clock-to. <strong>in</strong>put / output[ multi-Cycle Path -through [.-from -to register-from -through-toCategorization <strong>of</strong> tim<strong>in</strong>g exceptions.Fig. 3.SDC Filefalse pathmult icyclepathset falsep ath -from REG_A.Q -through U2.Y -through U3.Y -10 REG_C Dset falsep ath -from REG_I3.Q -to REG_D .Dset_muhicycley ath -set up 2 -fro m REG_B.Q -to REG_D .DDescriptions <strong>of</strong> exceptions accord<strong>in</strong>g to the format.designers must be concerned with. And, false or multicycle pathsreduce the number <strong>of</strong> negative-slack paths, so that tim<strong>in</strong>g closureis more easily achieved. In addition, reduced constra<strong>in</strong>ts preventexcessive optimization such as upsiz<strong>in</strong>g <strong>of</strong> cells on non-functionaltim<strong>in</strong>g paths; this leads to reduction <strong>of</strong> design area.On the other hand , added exceptions hurt because they add complexity<strong>in</strong> optimization and extra care-abouts <strong>in</strong> tim<strong>in</strong>g analysis andoptimization processes. Moreover, from our experiments it appearsthat the EDA <strong>in</strong>dustry, by convention, preserves exceptions on nodes<strong>in</strong> a circuit throughout the optimization process. This preservation<strong>of</strong> exceptions on nodes prevents restructur<strong>in</strong>g and reduces the designsolution space: feasible solutions with restructur<strong>in</strong>g are excluded fromconsideration.Intuitively, there must be a trade<strong>of</strong>f between sett<strong>in</strong>g tim<strong>in</strong>g exceptionsand discard<strong>in</strong>g tim<strong>in</strong>g exceptions. In Section III, we exam<strong>in</strong>ethe impact <strong>of</strong> tim<strong>in</strong>g exceptions on the design optimization process<strong>in</strong> detail.In the description <strong>of</strong> exceptions, paths are lists <strong>of</strong> "


times. Our <strong>in</strong>itial <strong>in</strong>tuition regard<strong>in</strong>g this question is that (i) higherbenefit can be obta<strong>in</strong>ed when tim<strong>in</strong>g exceptions are extracted as lateas possible, s<strong>in</strong>ce more accurate tim<strong>in</strong>g <strong>in</strong>formation is available <strong>in</strong>later design stages with the convergence <strong>of</strong> spatial embedd<strong>in</strong>g andparasitics ; on the other hand, (ii) higher benefit can be obta<strong>in</strong>edwhen tim<strong>in</strong>g exceptions are applied as early as possible, s<strong>in</strong>ce wecan maxim ize the benefit <strong>of</strong> tim<strong>in</strong>g exceptions as much as possiblebefore perform<strong>in</strong>g excessive tim<strong>in</strong>g optimizations.Figure 5 illustrates feasible scenarios to extract and apply exceptions.DC, PLACE , PLACE -OPT, CTS, CTS-OPT, and ROUTErespectively denote synthesis (us<strong>in</strong>g Synopsys Design Compiler) ,placement, tim<strong>in</strong>g optimization after placement, clock tree synthesis,tim<strong>in</strong>g optimization after clock tree synthesis, and rout<strong>in</strong>g. <strong>Exceptions</strong>extracted after the DC stage can be applied before the PLACE,PLACE-OPT, CTS and CTS-OPT stages. <strong>Exceptions</strong> extracted afterthe PLACE-OPT stage can be applied <strong>in</strong> advance to the follow<strong>in</strong>gstages. However, if we apply exceptions at a stage which is farfrom the stage at which the exceptions were extracted, most <strong>of</strong> theexceptions with "through" po<strong>in</strong>ts would not be feasible s<strong>in</strong>ce thename or structure <strong>of</strong> a given po<strong>in</strong>t (<strong>in</strong> the exception specification)can be changed dur<strong>in</strong>g optimization. In Section V, we experimentallydeterm<strong>in</strong>e when exceptions should be extracted and appliedto achieve the best QOR results. Our experiments extract tim<strong>in</strong>gexceptions from each stage - after placement (PLACE), placementoptimization (PLACE-OP7), CTS, CTS optimization (CTS-OP7) androut<strong>in</strong>g (ROUTE) - and apply the exceptions to the next stage soas to identify the most beneficial design stages for extraction andapplication <strong>of</strong> exceptions .DCPLACEPLACE-OPT.............. Non-feasible for exceptionswith "through" po<strong>in</strong>ts


TABLE IIT IMING SLACK AND AR EA RESULTS AFT ER APPLYING COMP ACT AN DEQUIVAL ENT COMPL EX FORM OF TIMING EXCE PTIONS.Form # FP Before optimization Afte r optimizationWNS TNS WNS TNS Runtimewlo FP 0 -00401 -71.966 -0.242 -53.359 0:16:\4(a) compact 20 -0.356 -69.268 -0.234 -49.911 0:18:38(a) complex 390 -0.356 -69 .268 -0.235 -53.145 0:24:45(b) comp act 20 -0.3\9 -65.0\9 -0.238 -48.905 0:15:06(b) complex 818 -0.319 -65.019 -0.236 -53.\9\ 0:24:0 7(c) compact 20 -0.383 -70.86\ -0.25 7 -54.357 0:14:32(c) complex 476 -0.383 -70.861 -0.240 -55.111 0:19:2 7false paths. Thus, we design a scalable artificial circuit as shown <strong>in</strong>Figure 10.STAGE - ISTAGE - 2.3. 4 ...From the experimental results, we observe the follow<strong>in</strong>g.1) Comparison <strong>of</strong> the results between "Without exceptions" and"FP wlo through" or "MCP wlo through": tim<strong>in</strong>g is improvedand area is reduced. This is because three critical paths areremoved due to tim<strong>in</strong>g exceptions.2) Comparison <strong>of</strong> the results between FP and MCP: FP andMCP have the same impacts on tim<strong>in</strong>g and area for all threeoptimization tools, DC, SOCE and ASTRa.3) Comparison <strong>of</strong> the results between "wi through" and "w/othrough": we observe that, <strong>in</strong> both FP and MCP cases,"wi through" cases show significant degradation <strong>of</strong> tim<strong>in</strong>g,compared to "w/o through" cases.4) Comparison <strong>of</strong> the results between compact form and equivalentcomplex form, we observe that compact form is morebeneficial than complex form consider<strong>in</strong>g tim<strong>in</strong>g slack andruntime.The first and second observations are <strong>in</strong>tuitive. However, thethird and fourth observations need further analysis. In the follow<strong>in</strong>gsubsection, we analyze the third observation <strong>in</strong> detail.B. Experiments on 'through ' Po<strong>in</strong>tsFrom Table 1, we also observe that the area from "wi through" issignificantly smaller than that from "w/o through". We can concludethat "through" po<strong>in</strong>ts prevent aggressive optimization. The reasonfor tim<strong>in</strong>g degradation and smaller area due to "through ' po<strong>in</strong>ts maystem from the fact that optimization tools try to preserve the po<strong>in</strong>tsgiven by tim<strong>in</strong>g exceptions. Hence, aggressive tim<strong>in</strong>g optimizationswhile sacrific<strong>in</strong>g area, such as logic restructur<strong>in</strong>g, are prevented forthe po<strong>in</strong>ts specified by tim<strong>in</strong>g exceptions. Figure 9 compares theresult<strong>in</strong>g circuits after optimization with "through" po<strong>in</strong>ts <strong>in</strong> (A)and without "through" po<strong>in</strong>ts <strong>in</strong> (B). Dur<strong>in</strong>g optimizations without"through" po<strong>in</strong>ts, cells <strong>in</strong> a critical path (from C<strong>in</strong> to COUI) havebeen changed from AND2 - OR3 to A0121 - I N V. However, with"through" po<strong>in</strong>ts, orig<strong>in</strong>al circuit topology is ma<strong>in</strong>ta<strong>in</strong>ed.Fig. 10.UN IT circuit. _ 'Artificial circuit which is scalable by cascad<strong>in</strong>g a unit circuit.The circuit consists <strong>of</strong> cascaded unit circuits, with the unit circuithav<strong>in</strong>g one select port and four <strong>in</strong>put-output pairs. The unit circuitconta<strong>in</strong>s two false paths, so that we can control the number <strong>of</strong> falsepaths easily by cascad<strong>in</strong>g the unit circuit.To calculate the total number <strong>of</strong>paths, we count all <strong>in</strong>com<strong>in</strong>g pathsat the four output nodes <strong>of</strong> each stage. Initially, for l-stagc circuit,the numbers <strong>of</strong> <strong>in</strong>com<strong>in</strong>g paths for output nodes are N I,OUT.3 = 5,N \ ,OUT..2 = 5, N \ ,OUT. I = 5, and N \ ,OUT. O= 5, respectively. Summ<strong>in</strong>gup the number <strong>of</strong> <strong>in</strong>com<strong>in</strong>g paths <strong>of</strong> each output node gives totalnumber <strong>of</strong> paths <strong>in</strong> the l-stage circuit. The number <strong>of</strong> paths <strong>in</strong> n­stage circuits can be calculated recursively as:N n,IOlal = 8Nn_ 1,OUT_3 +4 Nn_ 1,oUT ..2 +4 Nn_ 1,oUT _I +4N n- 1,oUT_Owhere the number <strong>of</strong> <strong>in</strong>com<strong>in</strong>g paths at the output nodes <strong>of</strong> n - 1(Nn-I ,OUT .3 ,.. .N n- I,OULO) is also calculated recursively. The coefficients,i.e., 8 and 4, <strong>in</strong> the equation <strong>in</strong>dicate the number <strong>of</strong> branchesfrom the output nodes <strong>of</strong> n - l-stage circuit.The number <strong>of</strong> true paths <strong>in</strong> the circuit is then calculated us<strong>in</strong>g thesame method after remov<strong>in</strong>g false paths <strong>in</strong> the circuit, and f<strong>in</strong>ally,the number <strong>of</strong> false paths is calculated by subtract<strong>in</strong>g the number <strong>of</strong>true paths from the total number <strong>of</strong> paths.We apply different clock periods for each circuit, s<strong>in</strong>ce the length<strong>of</strong> comb<strong>in</strong>ational paths is different and proportional to the number <strong>of</strong>stages. Table II1 summarizes the number <strong>of</strong> all paths and false paths<strong>in</strong> each artificial circuit with different stages.TA B LE IIIT il E NUMBER OF PATHS AN D TARGET FREQU ENC Y IN THE ARTIFIC IALCIRC UIT.I stage-I I stage-2 I stage--4 I stage- S# <strong>of</strong> all paths 20 100 2,500 1,562,500# <strong>of</strong> false paths 2 20 916 941,636clock period (ns) 0.4 0.8 1.6 3.2(A)AN D2Fig. 9. Full-adder circuit after optimization with "through" po<strong>in</strong>ts <strong>in</strong> (A) andwithout "through" po<strong>in</strong>ts <strong>in</strong> (B).It is difficult to analyze the impact <strong>of</strong> tim<strong>in</strong>g exceptions <strong>in</strong> large realdesigns due to the complexity and uncontrollability <strong>of</strong> the number <strong>of</strong>AND2(B)We perform placement and rout<strong>in</strong>g (P&R) for five cases, i.e.,without false paths, with 25% <strong>of</strong> all false paths, with 50% <strong>of</strong> allfalse paths, with all false paths, and with multicycle path (MCP)exceptions only. 25% and 50% false paths are selected accord<strong>in</strong>gto the ascend<strong>in</strong>g order <strong>of</strong> tim<strong>in</strong>g slack values, i.e., top 25% and50% <strong>of</strong> critical paths are selected. For P&R, we use a traditionaltim<strong>in</strong>g-driven implementation flow with Cadence SOC Encounter,and a sign<strong>of</strong>f tim<strong>in</strong>g analysis flow with Synopsys PrimeTime vB­2008.12-SP2 [15]. In the artificial circuits, real multicycle paths donot exist. So, we def<strong>in</strong>e four multicycle paths arbitrarily, i.e., fromIN...2 and IN.3 to OUT...2 and OUT.3 among 16 register-to-registerpaths. After placement and rout<strong>in</strong>g (P&R), we measure worst negativeslack (WNS), total negative slack (TNS), area, and runtime (TAT).Table IV summarizes tim<strong>in</strong>g, area, and runtime with respect to thenumber <strong>of</strong> tim<strong>in</strong>g exceptions applied.


TABLE IVQOR RESULTS AFTER P&R WITH SOC ENCOUNTER. FP DENOTES FALSEPATH TIMING EXCEPTIONS ARE APPLIED .I SOCE I QOR I 0% FP I 25% FP I 50% FP I 100% FP I MCPWNS (ns) -0.314 -0.311 -0.311 -0.305 -0.262stage-I TNS (ns) -1.100 -1.1I 1 -1.I1I -1.094 -0.948Area 254.7 268.1 268.1 252.6 280.8WNS (ns) -0.233 -0.226 -0.189 -0.219 -0.182stage-2 TNS (ns) -0.786 -0.838 -0.721 -0.761 -0.676Area 352.8 293.5 31I.2 288.6 320.3WNS (ns) -0.042 -0.138 -0.132 -0.094 0.000stage-4 TNS (ns) -0.089 -0.449 -0.466 -0.288 0.000Area 460.8 360.6 370.4 378.9 452.3WNS (ns) 0.002 -0.459 -0.325 -0.310 0.000stage-S TNS (ns) 0.000 -1.729 -1.241 -1.185 0.000Area 581.4 503.1 505.9 512.3 601.9TAT 0:03:37 0:24:38 1:09:25 6:53:33 0:02:51From the results, we observe that tim<strong>in</strong>g exceptions help reducetim<strong>in</strong>g violations for small numbers <strong>of</strong> stages, stage-I and stage-2,compared to the results for no exceptions; however, the improvementis quite small and not consistent. For large numbers <strong>of</strong> stages, stage­4 and stage-8, the tim<strong>in</strong>g violations with false paths are worse thanthose without false paths. In addition, for the stage-S case, runtime<strong>in</strong>creases excessively without improv<strong>in</strong>g tim<strong>in</strong>g compared to the case<strong>of</strong>no exceptions. When we apply MCP exceptions, QOR is improved.Analysis <strong>of</strong> the circuit topology after optimization gives the sameconclusion as with the RCA example: when many false paths areused, so that many "through" po<strong>in</strong>ts are specified, restructur<strong>in</strong>g islimited and tim<strong>in</strong>g is degraded. saCE performs restructur<strong>in</strong>g whentim<strong>in</strong>g exceptions without "through" po<strong>in</strong>ts are applied, as shown <strong>in</strong>Column 3 (0% FP), and Column 7 (MCP) cases. Figure I I showsthe unit circuit as restructured by saCE.Fig. II .Restructured unit circuitIn summary, tim<strong>in</strong>g exceptions without "through" po<strong>in</strong>ts reducetim<strong>in</strong>g slack and do not hurt optimization processes. By contrast,tim<strong>in</strong>g exceptions with "through" po<strong>in</strong>ts may help reduce tim<strong>in</strong>gslack, but they limit the optimization (restructur<strong>in</strong>g) solution space,so that overall optimization quality is degraded for the paths specifiedby such tim<strong>in</strong>g exceptions.IV. BENEFICIAL TIMING EXCEPTIONSS<strong>in</strong>ce a larger number <strong>of</strong> tim<strong>in</strong>g exceptions with "through" po<strong>in</strong>tsdegrade the optimization quality, we wish to reduce the number <strong>of</strong>exceptions with "through" po<strong>in</strong>ts. In other words, we have to auditexceptions to obta<strong>in</strong> beneficial tim<strong>in</strong>g exceptions.A. Critical <strong>Tim<strong>in</strong>g</strong> <strong>Exceptions</strong>First, we exam<strong>in</strong>e the impact <strong>of</strong> critical exceptions (on negativetim<strong>in</strong>g slack paths) and non-critical exceptions (on positive slackpaths) <strong>in</strong> the exception space (Figure 4). To compare the impact<strong>of</strong> critical and non-critical exceptions, we perform experiments withfour different k<strong>in</strong>ds <strong>of</strong> exceptions - critical false paths, criticalmulticycle paths, non-critical false paths and non-critical multicyclepaths. We select 10,000 exceptions and apply them <strong>in</strong> the <strong>in</strong>crementaloptimization stage <strong>of</strong> Synopsys DesignCompiler (DC) Y-2006.06­SP5 [14] We use multicycle paths without "through" po<strong>in</strong>ts and falsepaths with "through" po<strong>in</strong>ts. Figure 12 shows experimental resultswhen we apply top-I 0%, 25%, 50% and 100% <strong>of</strong> exceptions <strong>in</strong>descend<strong>in</strong>g order <strong>of</strong> criticality (tim<strong>in</strong>g slack). Figure 12 shows theworst negative slack after the <strong>in</strong>cremental optimization with differentnumber <strong>of</strong> tim<strong>in</strong>g exceptions. From the figure, we observe that WNSis not improved by non-critical exceptions, and <strong>in</strong> fact rema<strong>in</strong>s thesame as when no exceptions are applied (0% cases <strong>in</strong> Figure 12).However, critical false paths and multicycle paths improve tim<strong>in</strong>gslack. Critical tim<strong>in</strong>g exceptions without "through" po<strong>in</strong>ts (CriticalMCP) effectively reduce the worst tim<strong>in</strong>g slack, but critical tim<strong>in</strong>gexceptions with "through" po<strong>in</strong>ts (Critical FP) do not significantlyimprove tim<strong>in</strong>g slack.-0.25~ -0.2g~ -D.15.::~ -0.1~?! -0.05o:;;0%10%25%Fig. 12. <strong>Tim<strong>in</strong>g</strong> results (WNS) after apply<strong>in</strong>g critical and non-criticalexceptions.B_ <strong>Effective</strong> <strong>Tim<strong>in</strong>g</strong> <strong>Exceptions</strong>- -...- - ....- - - * - - -.tt. -,,~•••••••••••••••••••••••••••••••••••••••••••• " ,. _ Non-critical FP-.- Critical FP"""-Critical M e pWe can use critical exceptions rather than non-critical exceptions.However, not all critical exceptions are beneficial: the criticalexceptions can be either effective or <strong>in</strong>effective for design tim<strong>in</strong>goptimization. Ineffective exceptions need to be avoided <strong>in</strong> designoptimization.<strong>Effective</strong> tim<strong>in</strong>g exceptions. To be beneficial <strong>in</strong> design optimization,tim<strong>in</strong>g exceptions need to (I) tum negative slack to positive, (2)improve large negative slack to the po<strong>in</strong>t where it can be turnedto positive with a simple siz<strong>in</strong>g optimization, or (3) improve tim<strong>in</strong>gslack <strong>of</strong> non-critical paths which may have either positive or negativeslack values. The first condition enables direct improvement <strong>of</strong>tim<strong>in</strong>gquality without any extra optimization cost. The second conditionallows improvement <strong>of</strong> tim<strong>in</strong>g quality without us<strong>in</strong>g aggressiveoptimization, so that the limitation on restructur<strong>in</strong>g due to tim<strong>in</strong>gexceptions may not affect the f<strong>in</strong>al tim<strong>in</strong>g quality. The third conditionis expected to reduce design area.Ineffective tim<strong>in</strong>g exceptions. Some tim<strong>in</strong>g exceptions do not helpto reduce tim<strong>in</strong>g slack. In Figure 13, whether or not we def<strong>in</strong>e path Aas a false path, the tim<strong>in</strong>g slack for each tim<strong>in</strong>g po<strong>in</strong>t (all <strong>in</strong>put/outputp<strong>in</strong>s <strong>of</strong> cells, or primary ports) <strong>of</strong> the path will not change if thepath B is a true path and has tighter tim<strong>in</strong>g requirement (worsetim<strong>in</strong>g slack) than path A. Therefore, add<strong>in</strong>g a tim<strong>in</strong>g exceptionfor path A will only prevent restructur<strong>in</strong>g that may be required forpath B to be optimized. Even if tim<strong>in</strong>g exceptions improve tim<strong>in</strong>gslack, they can be regarded as <strong>in</strong>effective if their tim<strong>in</strong>g improvementis small and the tim<strong>in</strong>g slack is still critical, so that aggressivetim<strong>in</strong>g optimization is required. In this case, tim<strong>in</strong>g degradation fromrestrictions on optimization due to tim<strong>in</strong>g exceptions can outweighany tim<strong>in</strong>g improvement from the tim<strong>in</strong>g exceptions themselves.To filter out <strong>in</strong>effective tim<strong>in</strong>g exceptions from the generatedtim<strong>in</strong>g exceptions, we propose the follow<strong>in</strong>g metrics - Maxlmp,Sumlmp, Avglmp and Endlmp - to quantify the effectiveness <strong>of</strong>tim<strong>in</strong>g exceptions. Formally,50%Number <strong>of</strong> tim<strong>in</strong>g exceptions100%Maxlmp = MaxC EP(s~ - sc) 2: U rnax•••• Non-critical M e p(I)


Fig. 13. <strong>Tim<strong>in</strong>g</strong> exceptionon Path A is an <strong>in</strong>effective false path due to thepresence <strong>of</strong> true path B.different number <strong>of</strong> exceptions. From the results , we observe thatruntime <strong>in</strong>creases accord<strong>in</strong>g to the number <strong>of</strong> exceptions. Runtimewith 10,000 false paths is up to 16 times larger than that without falsepaths. Even though the optimization runtime <strong>in</strong>creases, the tim<strong>in</strong>gslack does not change accord<strong>in</strong>gly <strong>in</strong> any <strong>of</strong> our metrics and testcases.In add ition, even though there is a improvement, it is difficult todist<strong>in</strong>guish the benefits <strong>of</strong> tim<strong>in</strong>g exceptions from the ' <strong>in</strong>herent noise'<strong>in</strong> Ie implementation tools [11], s<strong>in</strong>ce the improvement is quite small(e.g., maximum WNS and TNS improv ements <strong>of</strong>AES testcase aga<strong>in</strong>stthe "0" exceptions are only I2ps and 2.05ns, respectively).Endlmp = S~e"d2: Uendwhere p is a path that is specified by a false path, c is a tim<strong>in</strong>gpo<strong>in</strong>t belong<strong>in</strong>g to the path p, and Cend is an endpo<strong>in</strong>t <strong>of</strong> the path p.Sc and s~ respectively denote the tim<strong>in</strong>g slack <strong>of</strong> the tim<strong>in</strong>g po<strong>in</strong>tc before and after def<strong>in</strong><strong>in</strong>g path p as a false path . U max , U sun"u avg and Uend are threshold values for each metric. It is difficultto quantify the tim<strong>in</strong>g benefit from restructur<strong>in</strong>g until we evaluateall poss ible technology mapp <strong>in</strong>gs dur<strong>in</strong>g tim<strong>in</strong>g optimization. Hence,we <strong>in</strong>troduce a threshold value that trade<strong>of</strong>f the effectiveness <strong>of</strong> falsepaths and the benefit which may be obta<strong>in</strong>ed if restructur<strong>in</strong>g occurs.• Maxlmp prunes <strong>in</strong>effective paths which do not give a slackimprovement more than alpha max at any cells <strong>in</strong> the path. Theunderly<strong>in</strong>g assumption <strong>of</strong> Maxlmp filter is that if no cells <strong>in</strong>a path have improvements larger than a given small threshold,all tim<strong>in</strong>g arcs <strong>in</strong> the path may be overlapped with true criticalpaths as shown <strong>in</strong> Figure 13.• Sumlmp (Avglmp) checks the sum (average) <strong>of</strong> slack improvements<strong>of</strong> all tim<strong>in</strong>g arcs <strong>in</strong> a tim<strong>in</strong>g path. Underly<strong>in</strong>g assumptions<strong>of</strong> these filters are that if the total slack improvementalong a path is less than a given small threshold, the path maybe still critical after specified as a false path. Henc e, the pathstill requi res aggressive optimization but the optimization willbe limited if specified as a false path .• Endlmp checks the tim<strong>in</strong>g slack improv ement at the endpo<strong>in</strong>t <strong>of</strong>a path. If an endpo<strong>in</strong>t slack <strong>of</strong> an exception is too small or notimproved, the path can be considered as an <strong>in</strong>effective exceptiondue to the similar reason <strong>of</strong> Sumlmp or Avglmp.We apply selected false paths from the above four metrics to ourtestcases. Table V summarizes the area and tim<strong>in</strong>g <strong>in</strong>formation <strong>of</strong> ourtestcases, implemented without us<strong>in</strong>g tim<strong>in</strong>g exceptions.ModuleSumlmp = L ( s~ - sc) 2: UsumcEpAvgl mp =TABLE VTESTCASE S FO R EXPE RIMENTS .DescriptionLC EP (S~ -SC )n CEp2: UavgI Cell count I Area (um 2 )AES AES Cipher 26,000 75,000 -53.36JPEG JPEG Encoder 70,000 180,000 -93.54LSU Load Store Unit 26,000 t 12,000 -44.97EXU Integer Execution Unit 22,000 76,000 -36.16We extract 10,000 false paths from our testcase with SpyGlass­TXV v4.2 [17]. From the 10,000 false paths, we obta<strong>in</strong> the variousnumber <strong>of</strong> effective exceptions with the proposed metrics us<strong>in</strong>g TcIscriptapplicable to Synopsys PrimeTime [15]. We apply the selectedexceptions at the placement optim ization stage <strong>of</strong> Cadence SOCEncounter (SOCE) [18], and we observe tim<strong>in</strong>g improvements aftertim<strong>in</strong>g optimization.Table VI summarizes worst negative slack (WNS), total negativeslack (TNS), and optimization runt ime <strong>of</strong> our testc ases after apply<strong>in</strong>gTNS(2)(3)(4)Fig. 14.V. D ESI GN S TAG ES TO E XT RAC T AN D ApPLY TIMING~U400350JOO250-1003503002502CX)150too50CO RR : lIAll50 100 150 200 250 aoo J50 400CORR : 0.718E XC EP TI ON SWe f<strong>in</strong>d which des ign stages are most benefic ial to extract andto apply tim<strong>in</strong>g exceptions. To max imize the benefit from tim<strong>in</strong>gexceptions, we may extract exceptions <strong>in</strong> very early design stages,e.g., right after synthesis, and use the exceptions <strong>in</strong> the later designstages. However, there is a problem with tim<strong>in</strong>g mismatch betweendesign stages. Figure s 14, 15, 16 and 17 compare tim<strong>in</strong>g slack <strong>of</strong>topmost critic al paths (specified between registers) between differentdesign stages . Figure 14 shows tim<strong>in</strong>g correlation between synthesisand placement, and Figure 15 shows tim<strong>in</strong> g correlation betweenplacement and CTS. Figures 16 and 17 show tim<strong>in</strong>g correlationbetween placement and CTS and between CTS and rout<strong>in</strong>g, respectively. We observe that tim<strong>in</strong>g between synthesis and placementstages is not well correl ated, so that the tim<strong>in</strong>g exceptions based onthe synthes ized netlists may no longe r be valid for the later designstages. However, after placement, the tim<strong>in</strong>g correlation betweenstages is improved to more than 0.7.Fig. 15.synthesis<strong>Tim<strong>in</strong>g</strong> correlation between synthesis and placement., co 0'+ +~.~. . . +. :..• + • .l :r···~·:'··....".~~ .., . +.. . .• . . .. +••••\ +:+"....•••• ••.. ·:i: . .:..~ ~:: ...-: :. .~ . .1· , .••••:;.. :. +••:,: ..+.-,+• •:$.s.. : ........+ ..~ : •• : '+.'. •••-":...... : +••50 J(XJ 150 200 250 30() 350 400placement<strong>Tim<strong>in</strong>g</strong> correlation between placement and CTS.We select 1,000 false paths which have largest improvementswith respect to the Maxlmp metric at each stage. We apply theseexceptions to the next stages, and exam<strong>in</strong>e QOR (WNS, TNS andArea) after placement and rout <strong>in</strong>g.


TABLE VIQOR RESU LTS OF TEST MODU LES AFTER APPLY ING DIFFERENT NUMBER OF EFFECTIVE EXCEPTIONS.Filter # <strong>of</strong> FP AES JPEG LSU EXUWNS TNS Runtime WNS TNS Runtime WNS TNS Runtime WN S TNS Runtime10,000 -0 .244 -52 .56 1:27:29 -0.207 -111.89 1:53:56 -0.091 -37.99 0:25:30 -0 .147 -41.61 0:54:152,000 -0 .245 -53.33 0:16:12 -0.171 -93 .70 0:37:28 -0.098 -43.49 0:06:00 -0 .133 -40.14 0:09:211,000 -0 .268 -53.62 0:11:30 -0. 174 -94 .07 0:23:23 -0.094 -39.96 0:05:57 -0 .169 -42 .30 0:04:32MAX 500 -0 .25 1 -52.91 0:10:31 -0.185 -95.35 0:20:59 -0 .088 -42.19 0:04:24 -0 .128 -37.35 0:03:39100 -0.25 1 -53 .09 0:11 :01 -0.181 -94.08 0:19:02 -0.088 -40.99 0:03:27 -0. 159 -35.48 0:02 :4950 -0 .247 -53.29 0:09:05 -0.184 -93 .53 0:18:39 -0.097 -44.78 0:02:50 -0 .148 -39 .90 0:02:380 -0 .242 -53.36 0:09:32 -0.174 -93 .54 0:17:39 -0.095 -44.97 0:02:46 -0 .127 -36 .16 0:03:2410,000 -0 .244 -52 .56 1:27:29 -0.207 -111.89 1:53:56 -0.091 -37.99 0:25:30 -0 .147 -41.61 0:54:152,000 -0 .231 -52 .62 0:22:14 -0.170 -93.62 0:26:27 -0.112 -45.32 0:05:26 -0 .141 -38.2 1 0:07:411,000 -0.230 -51.3 1 0:19 :29 -0.178 -96.16 0:22:33 -0.101 -41.50 0:03:54 -0. 142 -41.09 0:05 :28SUM 500 -0.244 -52.22 0:17:41 -0.19 1 -96.37 0:19:5 1 -0.094 -43.31 0:03:43 -0 .123 -36 .74 0:04 :54100 -0.245 -52 .94 0:09 :33 -0.175 -94.73 0:18:37 -0.093 -44.68 0:03:04 -0 .164 -37 .04 0:03:0450 -0 .247 -54 .56 0:09:32 -0.175 -94 .73 0: 18:31 -0.093 -44.68 0:02:54 -0 .121 -38.42 0:02:560 -0.242 -53.36 0:09:32 -0.174 -93.54 0:17:39 -0.095 -44.97 0:02:46 -0 .127 -36.16 0:03 :2410,000 -0.244 -52 .56 1:27:29 -0.207 -111.89 1:53:56 -0.09 1 -37.99 0:25:30 -0.14 7 -41.6 1 0:54 :152,000 -0.25 1 -53.28 0:15:20 -0.170 -90.63 0:28:53 -0.104 -44.33 0:05:11 -0 .127 -37.65 0:07 :351,000 -0 .255 -54 .22 0:12:58 -0.177 -96 .78 0:23:03 -0.094 -44.33 0:03:37 -0 .127 -38 .59 0:05:20AVG 500 -0 .237 -52 .08 0:16:40 -0.191 -99 .00 0:20:09 -0.089 -44.60 0:03:18 -0 .161 -38.3 7 0:04:31100 -0.236 -53.17 0:14:28 -0.175 -94.73 0:18:36 -0.092 -46.35 0:03:01 -0 .142 -42 .00 0:03 :2550 -0.24 1 -52 .88 0:10:11 -0.175 -94.73 0:18:30 -0.095 -43.88 0:03:01 -0 .144 -38 .84 0:02:480 -0 .242 -53.36 0:09:32 -0.174 -93 .54 0:17:39 -0.095 -44.97 0:02:46 -0 .127 -36 .16 0:03:2410,000 -0.244 -52 .56 1:27:29 -0.207 - 111.89 1:53:56 -0.09 1 -37.99 0:25:30 -0 .147 -41.61 0:54:152,000 -0 .246 -54.46 0:14:45 -0.178 -94 .13 0:22:28 -0.094 -43.83 0:06:02 -0 .139 -40 .64 0:06:241,000 -0 .257 -52 .16 0:18:42 -0.184 -98.25 0:14:41 -0.103 -41.26 0:03:52 -0 .150 -37.46 0:04:2 1EN D 500 -0.237 -51.44 0:11:25 -0.164 -92 .65 0:19:57 -0.090 -43.72 0:03:13 -0 .134 -36 .59 0:04:03100 -0 .240 -53 .67 0:10:39 -0.184 -98 .57 0:13:14 -0.097 -44.42 0:03:01 -0 .118 -29 .83 0:05:2050 -0.25 1 -52.46 0:09:24 -0.176 -94.00 0:13:07 -0.09 1 -4 1.38 0:02:58 -0. 142 -39 .50 0:03 :370 -0 .242 -53.36 0:09:32 -0.174 -93 .54 0:17:39 -0.095 -44.97 0:02:46 -0 .127 -36 .16 0:03:24Fig. 16.Fig. 17.~ (lO350sooOIl 250.§:: 2011e150CO RR : 0.70150 100 150 200 250 30n 350 400<strong>Tim<strong>in</strong>g</strong> correlation between placement and rout<strong>in</strong>g.OIll Oll50400350300250'E 200:: el-ISa]00CO RR : 0.89750100.. , ;:.",-. ,... +4',"... :... . .. ··..·:.·.'·f :'• S:' • ... ~ J+~:• +•••• •• • • ~ ....'. • • •• • : •••:.:. t'.+ : :+.: •••• •":-:+.• ..:.:.., :.. '+... +... I.. .:••+ .~.'.+ J\.t.~:••••: ••~ • • •• • •.- • •• .; ••+ ..:#: •• • • ••••placement..:...,.~~. -f~• •• ,A~.....'t. . ..• ~~'.. :~.:.• • • :.....:',..... +.... .:..':'. .... ...: .+ ·...·7: ',. +••.................·~ri·" +••+ ••50 ••+.""~• .. +. • ••»' •• '.150 200 250 300 350CTS<strong>Tim<strong>in</strong>g</strong> correlation between CTS and rout<strong>in</strong>g.Table VII summarizes the QOR improvements when tim<strong>in</strong>g exceptionsare extracted and applied at different design stages . Weobserve that total negative slack (TNS) is improved, when exceptionsare extracted after placement or the first post-placement optimization(Place-opt) stages .To improve the results further, it may better to extract exceptionsat each stage and apply them <strong>in</strong> the next stage. However, extract<strong>in</strong>g400TABLE VIIQOR RESULTS AFT ER APPLYI NG FALSE- PATH EXC EPTIONS IN EACHSTAGE.Modu le Stage Area WNS TNSPlacement 74,090 -0.208 -4 1.75Place-opt 75,287 -0.208 -40.09AES CTS 75,494 -0.204 -40.84CTS-opt 76, 199 -0.197 -40.05Rout<strong>in</strong>g 76,245 -0.200 -40.12Placement 224 ,418 -0.148 -70.59Place-opt 220 ,105 -0.157 -83.49JP EG CTS 221 ,615 -0.166 -83.22CTS-opt 221 ,520 -0.162 -83.73Rout<strong>in</strong> g 22 1,537 -0.156 -83.83Placement 118,36 1 -0.183 -75.38Place-opt 118,395 -0.153 -69.78LSU CTS 118,877 -0.179 -73.23CTS-opt 118,784 -0.171 -69.06Rout<strong>in</strong>g 118,774 -0.160 -69.95Placement 76,263 -0.295 -36.06Place-opt 76,491 -0.292 -48.21EXU CTS 77,04 1 -0.273 -39.05CTS-opt 76,589 -0.323 -4 1.10Rout<strong>in</strong>g 76,611 -0.314 -41.93timmg exceptions at every stage requires large runtime and effort.Based on tim<strong>in</strong>g correlation results between stages and optimizationresults <strong>in</strong> Table VII, we can conc lude that tim<strong>in</strong>g exceptions need tobe extracted after plac ement or the first post-placement optimizationstages, when most <strong>of</strong> tim<strong>in</strong>g critical paths are discovered.VI.G UIDELINES TO TIMING EXCEPTIONS IN D ES IGNO PTIMIZATIONWe show the impact <strong>of</strong> tim<strong>in</strong>g exceptions <strong>in</strong> desig n optimizationand when tim<strong>in</strong>g exceptions need to be extracted and applied. Basedon the observations from our experiments, we provide the follow<strong>in</strong>gguide l<strong>in</strong>es for the use <strong>of</strong> tim<strong>in</strong>g exceptions <strong>in</strong> design optimization.• Optim ization runtime <strong>in</strong>creases rapidly with <strong>in</strong>creas<strong>in</strong>g number<strong>of</strong> applied tim<strong>in</strong>g exceptions . However, such large runtime overheaddoes not lead to better QOR. Hence, <strong>in</strong> design optimization,designers need to use only clearly effective tim<strong>in</strong>g exceptions.


• First-order tim<strong>in</strong>g exceptions that are always beneficial arethose without "through" po<strong>in</strong>ts. With "through" po<strong>in</strong>ts, theoptimization quality is not improved significantly, and can evenbe degr aded .• When specify<strong>in</strong>g tim<strong>in</strong>g exceptions, the declaration form mustbe as compact as possible.• <strong>Tim<strong>in</strong>g</strong> exceptions should be extracted after placement or thefirst post-placement optimization stages, when most <strong>of</strong> thedesign 's critical paths have been revealed, and most <strong>of</strong> therequired restructur<strong>in</strong>g has already been performed.• It is better to not use tim<strong>in</strong>g exceptions with "through" po<strong>in</strong>ts<strong>in</strong> design optimization, unless the tim<strong>in</strong>g slack improvement isclear and sufficient.Our observations imply the follow<strong>in</strong>g requirements: (I) new designoptimization tools or flows, such as tim<strong>in</strong>g exception-aware tim<strong>in</strong>goptimization that ma<strong>in</strong>ta<strong>in</strong>s tim<strong>in</strong>g exceptions throughout the flowwithout preserv<strong>in</strong>g the detailed po<strong>in</strong>ts <strong>in</strong> the netlist specified bytim<strong>in</strong>g exceptions, and (2) high-quality constra<strong>in</strong>ts comp action toolsto compress the number <strong>of</strong> exception po<strong>in</strong>ts.For now, <strong>in</strong> the context <strong>of</strong> the traditional tim<strong>in</strong>g-driven designmethodology, we suggest a design flow to more effectively use tim<strong>in</strong>gexceptions <strong>in</strong> des ign optim ization . Figure 18 illustrates the proposeddesign flow.User def<strong>in</strong>ed tim<strong>in</strong>g excep tionsIn this work, we evaluate the impact <strong>of</strong> tim<strong>in</strong>g exceptions withrespect to tim<strong>in</strong>g violations, area and optimization runtime. We alsoexplore filter<strong>in</strong>g methods to identify beneficial tim<strong>in</strong>g exceptions.And, we identify a ' sweet spot' <strong>in</strong> the design flow when exceptionsshould be extracted and applied for maximum benefit. We havefurthermore proposed a design methodology for beneficial <strong>in</strong>sertion<strong>of</strong> tim<strong>in</strong>g exceptions: (I) critical and effective tim<strong>in</strong>g exceptionsshould be extracted and applied after the placement stage, and (2)<strong>in</strong>effective false paths should be pruned for better QOR. We believethat our motivat<strong>in</strong>g questions, experimental framework, and <strong>in</strong>itialresults can serve as a foundation for the development <strong>of</strong> novelmethodologies that maximally leverage tim<strong>in</strong>g exceptions <strong>in</strong> the ICimplementation flow.Our ongo<strong>in</strong>g work studies several other facets <strong>of</strong>tim<strong>in</strong>g exceptions.First , we seek improved ways <strong>of</strong> extract<strong>in</strong>g and audit<strong>in</strong>g consistentlybeneficial exceptions, to improve design QOR and TAT. Second,we seek quantified metrics <strong>of</strong> both user- and automatically-def<strong>in</strong>edexceptions, to better predict their impact on f<strong>in</strong>al design outcomes.F<strong>in</strong>ally, we cont<strong>in</strong>ue to pursue production-quality tim<strong>in</strong>g exceptionmethodologies for general SOC implementation flows.VIII. A CKNOWLEDGMENTSThe authors acknowledge useful discuss ions with N. Kumar <strong>in</strong>com<strong>in</strong>g up with the artificial scalable circuit <strong>of</strong> Section I1I.B, andand thank Atrenta Inc. for support <strong>of</strong> a tim<strong>in</strong>g exception flow.Fig. 18.Static <strong>Tim<strong>in</strong>g</strong> AnalysisPre-STAresultAll exceptions,•••••••••••••••• •••••••••••••••••••••••••••••••••••••••JGenerate tim<strong>in</strong>g exceptionswlo "through" po<strong>in</strong>ts_ ~.~~~.~~ ~.~~~!.~..p.~ ~ ~.~ :False paths w/o "through" po<strong>in</strong>tsSTA resultOur recommended flow for tim<strong>in</strong>g exceptions.Generate tim<strong>in</strong>g exceptionswi "through" po<strong>in</strong>ts, i All false paths wI: ..through " po<strong>in</strong>tsCheck effectivenessAccord<strong>in</strong>g to the proposed flow, when synthesiz<strong>in</strong>g RTL codes <strong>in</strong>togate-level netlists, user-def<strong>in</strong>ed tim<strong>in</strong>g exceptions which give clearbenefits, such as exceptions between different clock doma<strong>in</strong>s, canbe added to the SDC (Synopsys Design Constra<strong>in</strong>ts). After synth esis,false paths and multi cycle paths that do not have "through" po<strong>in</strong>ts canbe generated and appended <strong>in</strong>to the SDC. We use Atrenta SpyGlass­TXV [17] flow for automatic generation <strong>of</strong> tim<strong>in</strong>g exceptions. Afterplacement (or placement optimization), we extract exceptions with"through" po<strong>in</strong>ts. However, add itional 'audit<strong>in</strong>g' <strong>of</strong> exceptions maybe required to f<strong>in</strong>d effective ones, s<strong>in</strong>ce apply<strong>in</strong>g too many exceptionswith "through" po<strong>in</strong>ts is harmful to TAT and QOR . F<strong>in</strong>ally, at thestatic tim<strong>in</strong>g analysis (STA) stage , all exceptions can be used, so asto reduce the number <strong>of</strong> tim<strong>in</strong>g violations.VII. CON C LUS IONAdd<strong>in</strong>g tim<strong>in</strong>g exceptions is traditionally regarded as helpful fordesign optim ization because overconstra<strong>in</strong>ts are removed by theexceptions. However, tim<strong>in</strong>g exceptions are not always beneficial andcan even degrade design quality <strong>of</strong> results.[I]R EFER ENC ESD. Brand and V. S. Iyengar, "<strong>Tim<strong>in</strong>g</strong> Analysis Us<strong>in</strong>g Functional Relationships",Proc. ACM/<strong>IEEE</strong> International Conference on Computer­Aided Design, 1986, pp. 126-129.[2] H.-C. Chen and D. H.-C. Du, "Path Sensitization <strong>in</strong> Critical PathProblem", <strong>IEEE</strong> Trans. on Computer-Aided Design <strong>of</strong>Integrated Circuitsand Systems , 12(2), 1993, pp. 196-207.[3] P. C. McGeer, A. Saldanha, R. K. Brayton and A. Sangiovanni­V<strong>in</strong>centelli, "Delay Models and Exact <strong>Tim<strong>in</strong>g</strong> Analysis", <strong>in</strong> T. Sasao(ed.), Logic Synthesis and Optimization, Kluwer Academic Publishers,1993, pp. 167-189.[4] S. Devadas, K. Keutzer, S. Malik and A. Wang, "Certified <strong>Tim<strong>in</strong>g</strong>Verification and the Transition Delay <strong>of</strong> a Logic Circuit", <strong>IEEE</strong> Trans.on VLSI Systems, 2(3), 1994, pp. 333-342 .[5] A. P. Gupta and D. P. Siewiorek, "Automated Multi-Cycle Symbolic<strong>Tim<strong>in</strong>g</strong> Verification <strong>of</strong> Microprocessor-based Designs", Proc. <strong>IEEE</strong>/ACMDesign Automation Conference, 1994, pp. 113-119.[6] K. Nakamura, K. Takagi, S. Kimura and K. Watanabe, "Wait<strong>in</strong>g FalsePath Analysis <strong>of</strong> Sequential Logic Circuits for Performance Optimization",Proc. ACM/<strong>IEEE</strong> Internat ional Conferenc e on Computer-AidedDesign, 1997, pp. 388-393.[7] w.-e. Lai, A. Krsticand K.-T. Cheng,"Functionally Testable Path DelayFaultson a Microprocessor", <strong>IEEE</strong> Design & Test <strong>of</strong>Computers, 2000,pp. 6-14 .[8] J.-J. Liou, A. Krstic, L.-e. Wang and K.-T. Cheng, "False-Path-AwareStatistical <strong>Tim<strong>in</strong>g</strong> Analysis and Efficient Path Selection for DelayTest<strong>in</strong>g and <strong>Tim<strong>in</strong>g</strong> Validation", Proc. <strong>IEEE</strong>/ACM Design AutomationConference, 2002, pp. 566-569.[9] H. Higuchi, "An Implication-Based Methodto DetectMulti-Cycle Paths<strong>in</strong> Large Sequential Circuits", Proc. <strong>IEEE</strong>/ACM Design AutomationConference, 2002, pp. 164-169.[10] K. Yang and K.-T. Cheng, "Efficient Identification <strong>of</strong> Multi-Cycle FalsePath", Proc. <strong>IEEE</strong>/ACM Design Automation Conference, 2006, pp. 360­365.[11] A. B. Kahng and S. Mantik, "Measurement <strong>of</strong> Inherent Noise <strong>in</strong> EDATools", Proc. International Symposium on Quality <strong>in</strong> Electronic Design,2002 , pp. 206-211 .[12] Us<strong>in</strong>g the Synopsys Design Constra<strong>in</strong>ts Format Application Note,http://solvnet.synopsys.coml .[13] Sun OpenSPARC Project., http://www.sun.comlprocessors/opensparc/ .[14] Synopsys DesignCompiler User 's Manual. http://www.synopsys.coml .[15] Synopsys Primelime User's Manual. http ://www.synopsys.coml .[16] Synopsys Astro User 's Manual . http://www.synopsys.coml .[1 7] Atrenta SpyGlass User 's Manual . http://www.atrenta.coml .[18] Cadence SOC Encounter User's Manual. http://www.cadence.coml .[19] Magma Blast Fusion User 's Manual. http://www.magma-da .coml .[20] Blue Pearl S<strong>of</strong>tware, Cobalt. http://www.bluepearls<strong>of</strong>tware.coml .[21] FishTail Design Automation. http://www.fishtaiI-da.coml .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!