Knowledge

Static timing analysis

Source 📝

25: 264:. This is the latest time at which a signal can arrive without making the clock cycle longer than desired. The computation of the required time proceeds as follows: at each primary output, the required times for rise/fall are set according to the specifications provided to the circuit. Next, a backward topological traversal is carried out, processing each gate when the required times at all of its fanouts are known. 311:
worst case corner may seldom occur. In an IC, for example, it may not be rare to have one metal layer at the thin or thick end of its allowed range, but it would be very rare for all 10 layers to be at the same limit, since they are manufactured independently. Statistical STA, which replaces delays with distributions, and tracking with correlation, offers a more sophisticated approach to the same problem.
303:. Extremes in cell characteristics can be considered as ‘process, voltage and temperature (PVT) corners’ and extremes in net characteristics can be considered as ‘extraction corners’. Then each combination pattern of PVT extraction corners is referred to as a ‘timing corner’ as it represents a point where timing will be extreme. If the design works at each extreme condition, then under the assumption of 161:, such an approach is liable to be too slow to be practical. Static timing analysis plays a vital role in facilitating the fast and reasonably accurate measurement of circuit timing. The speedup comes from the use of simplified timing models and by mostly ignoring logical interactions in circuits. This has become a mainstay of design over the last few decades. 345:
interface specifications, and lack of designer understanding of a component supplied as a 'black box'. There are specialized CAD tools designed explicitly to analyze interface timing, just as there are specific CAD tools to verify that an implementation of an interface conforms to the functional specification (using techniques such as
344:
Many of the common problems in chip designing are related to interface timing between different components of the design. These can arise because of many factors including incomplete simulation models, lack of test cases to properly verify interface timing, requirements for synchronization, incorrect
323:
alludes to the fact that this timing analysis is carried out in an input-independent manner, and purports to find the worst-case delay of the circuit over all possible input combinations. The computational efficiency (linear in the number of edges in the graph) of such an approach has resulted in its
310:
The use of corners in static timing analysis has several limitations. It may be overly optimistic, since it assumes perfect tracking: if one gate is fast, all gates are assumed fast, or if the voltage is low for one gate, it is also low for all others. Corners may also be overly pessimistic, for the
211:
The time when a signal arrives can vary due to many reasons. The input data may vary, the circuit may perform different operations, the temperature and voltage may change, and there are manufacturing differences in the exact construction of each part. The main goal of static timing analysis is to
295:
Quite often, designers will want to qualify their design across many conditions. Behavior of an electronic circuit is often dependent on various factors in its environment like temperature or local voltage variations. In such a case either STA needs to be performed for more than one such set of
200:, when a signal arrives too late, and misses the time when it should advance. These are more commonly known as setup violations/checks which actually are a subset of max time violations involving a cycle shift on synchronous paths. 256:
of all the components in the path will be required. Arrival times, and indeed almost all times in timing analysis, are normally kept as a pair of values - the earliest possible time at which a signal can change, and the
236:
is defined as the path between an input and an output with the maximum delay. Once the circuit timing has been computed by one of the techniques listed below, the critical path can easily be found by using a
207:, when an input signal changes too soon after the clock's active transition. These are more commonly known as hold violations/checks which actually are a subset of min time violations in synchronous path. 141:
at which they operate. Measuring the ability of a circuit to operate at the specified speed requires an ability to measure, during the design process, its delay at numerous steps. Moreover,
332:(CPM) that is widely used in project management. While the CPM-based methods are the dominant ones in use today, other methods for traversing circuit graphs, such as 328:
is popularly used in STA. However, PERT is a misnomer, and the so-called PERT method discussed in most of the literature on timing analysis refers to the
299:
With proper techniques, the patterns of condition variations are characterized and their extremes are recorded. Each extreme condition can be termed as a
212:
verify that despite these possible variations, all signals will arrive neither too early nor too late, and hence proper circuit operation can be assured.
360:(SSTA) is a procedure that is becoming increasingly necessary to handle the complexities of process and environmental variations in integrated circuits. 286:
implies that a path is too slow, and the path must be sped up (or the reference signal delayed) if the whole circuit is to work at the desired speed.
157:), and in in-place optimizations performed late in the design cycle. While such timing measurements can theoretically be performed using a rigorous 639: 572: 192:, which copy their input to their output when instructed to do so by the clock. Only two kinds of timing errors are possible in such a system: 667:
A survey of the field. This article was derived from Volume II, Chapter 8, 'Static Timing Analysis' by Sachin Sapatnekar, with permission.
604:, Kaviraj Chopra, Ashish Srivastava, and Lou Scheffer (2008). "Statistical timing analysis: From basic principles to state of the art". 89: 61: 325: 165: 42: 694: 410: 296:
conditions, or STA must be prepared to work with a range of possible delays for each component, as opposed to a single value.
68: 678: 508:
G. Martin; J. Berrie; T. Little; D. Mackay; J. McVean; D. Tomsett; L. Weston (1981). "An integrated LSI design aids system".
248:
of a signal is the time elapsed for a signal to arrive at a certain point. The reference, or time 0.0, is often taken as the
75: 357: 664: 439: 108: 57: 46: 374: 369: 405: 379: 271:
associated with each connection is the difference between the required time and the arrival time. A
82: 549: 145:
must be incorporated into the inner loop of timing optimizers at various phases of design, such as
600: 699: 185: 35: 544: 535:
Hitchcock, R. and Smith, G.L. and Cheng, D.D. (1982). "Timing analysis of computer hardware".
324:
widespread use, even though it has some limitations. A method that is commonly referred to as
633: 566: 329: 432:
Electronic Design Automation for IC Implementation, Circuit Design, and Process Technology
8: 177: 127: 621: 333: 189: 134: 521: 674: 660: 435: 253: 142: 625: 613: 554: 517: 468: 390: 168:(PERT), in 1966. More modern versions and algorithms appeared in the early 1980s. 180:, data is supposed to move in "lockstep", advancing one stage on each tick of the 300: 150: 146: 138: 487: 215:
Since STA is capable of verifying every path, it can detect other problems like
384: 346: 164:
One of the earliest descriptions of a static timing approach was based on the
688: 617: 606:
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
601: 534: 400: 154: 456: 278:
at some node implies that the arrival time at that node may be increased by
249: 181: 558: 472: 395: 220: 304: 507: 307:
behavior, the design is also qualified for all intermediate points.
24: 216: 126:(STA) is a simulation method of computing the expected timing of a 282:, without affecting the overall delay of the circuit. Conversely, 657:
Electronic Design Automation For Integrated Circuits Handbook
488:"Verification of timing constraints on large digital systems" 158: 590:. 1959 Proceedings of the Eastern Joint Computer Conference. 352: 454: 314: 184:. This is enforced by synchronizing elements such as 434:(2nd ed.). Boca Raton: CRC Press. p. 134. 130:
without requiring a simulation of the full circuit.
49:. Unsourced material may be challenged and removed. 252:of a clock signal. To calculate the arrival time, 686: 485: 16:Simulation technique in computer hardware design 336:, have been used by various timing analyzers. 137:have traditionally been characterized by the 671:Static Timing Analysis for Nanometer Designs 638:: CS1 maint: multiple names: authors list ( 571:: CS1 maint: multiple names: authors list ( 339: 495:Design Automation, 1980. 17th Conference on 429: 548: 353:Statistical static timing analysis (SSTA) 109:Learn how and when to remove this message 585: 455:Kirkpatrick, TI & Clark, NR (1966). 537:IBM Journal of Research and Development 461:IBM Journal of Research and Development 166:Program Evaluation and Review Technique 687: 430:Cortadella, Jordi (January 30, 2017). 411:Signoff (electronic design automation) 588:Critical-Path Planning and Scheduling 315:The most prominent techniques for STA 659:, by Lavagno, Martin, and Scheffer, 319:In static timing analysis, the word 47:adding citations to reliable sources 18: 13: 358:Statistical static timing analysis 290: 14: 711: 457:"PERT as an aid to logic design" 23: 673:, by R. Chadha and J. Bhasker, 586:Kelley, James; Walker, Morgan. 34:needs additional citations for 594: 579: 528: 501: 479: 448: 423: 226: 1: 695:Timing in electronic circuits 650: 522:10.1016/S0026-2692(81)80259-5 375:Electronic design automation 7: 370:Dynamic timing verification 363: 128:synchronous digital circuit 10: 716: 260:Another useful concept is 178:synchronous digital system 171: 497:. IEEE. pp. 139–147. 486:McWilliams, T.M. (1980). 467:(2). IBM Corp.: 135–141. 406:Worst-case execution time 380:Integrated circuit design 340:Interface timing analysis 618:10.1109/TCAD.2007.907047 510:Microelectronics Journal 416: 387:—for verification of STA 58:"Static timing analysis" 124:Static timing analysis 330:critical path method 43:improve this article 559:10.1147/rd.261.0100 543:(1). IBM: 100–105. 473:10.1147/rd.102.0135 135:integrated circuits 334:depth-first search 205:Min time violation 198:Max time violation 159:circuit simulation 681:, Springer, 2009. 679:978-0-387-93819-6 254:delay calculation 219:, slow paths and 143:delay calculation 133:High-performance 119: 118: 111: 93: 707: 644: 643: 637: 629: 598: 592: 591: 583: 577: 576: 570: 562: 552: 532: 526: 525: 505: 499: 498: 492: 483: 477: 476: 452: 446: 445: 427: 391:Logic simulation 239:traceback method 114: 107: 103: 100: 94: 92: 51: 27: 19: 715: 714: 710: 709: 708: 706: 705: 704: 685: 684: 653: 648: 647: 631: 630: 599: 595: 584: 580: 564: 563: 533: 529: 506: 502: 490: 484: 480: 453: 449: 442: 428: 424: 419: 366: 355: 342: 317: 293: 291:Corners and STA 229: 174: 147:logic synthesis 139:clock frequency 115: 104: 98: 95: 52: 50: 40: 28: 17: 12: 11: 5: 713: 703: 702: 700:Formal methods 697: 683: 682: 668: 652: 649: 646: 645: 612:(4): 589–607. 593: 578: 550:10.1.1.83.2093 527: 500: 478: 447: 440: 421: 420: 418: 415: 414: 413: 408: 403: 398: 393: 388: 385:Logic analyzer 382: 377: 372: 365: 362: 354: 351: 347:model checking 341: 338: 316: 313: 292: 289: 288: 287: 284:negative slack 273:positive slack 265: 258: 242: 228: 225: 209: 208: 201: 173: 170: 117: 116: 31: 29: 22: 15: 9: 6: 4: 3: 2: 712: 701: 698: 696: 693: 692: 690: 680: 676: 672: 669: 666: 665:0-8493-3096-3 662: 658: 655: 654: 641: 635: 627: 623: 619: 615: 611: 607: 603: 602:Blaauw, David 597: 589: 582: 574: 568: 560: 556: 551: 546: 542: 538: 531: 523: 519: 515: 511: 504: 496: 489: 482: 474: 470: 466: 462: 458: 451: 443: 441:9781315215112 437: 433: 426: 422: 412: 409: 407: 404: 402: 401:Timing margin 399: 397: 394: 392: 389: 386: 383: 381: 378: 376: 373: 371: 368: 367: 361: 359: 350: 348: 337: 335: 331: 327: 322: 312: 308: 306: 302: 297: 285: 281: 277: 274: 270: 266: 263: 262:required time 259: 255: 251: 247: 243: 240: 235: 234:critical path 231: 230: 224: 222: 218: 213: 206: 202: 199: 195: 194: 193: 191: 187: 183: 179: 169: 167: 162: 160: 156: 152: 148: 144: 140: 136: 131: 129: 125: 121: 113: 110: 102: 99:December 2021 91: 88: 84: 81: 77: 74: 70: 67: 63: 60: –  59: 55: 54:Find sources: 48: 44: 38: 37: 32:This article 30: 26: 21: 20: 670: 656: 634:cite journal 609: 605: 596: 587: 581: 567:cite journal 540: 536: 530: 516:(4): 18–22. 513: 509: 503: 494: 481: 464: 460: 450: 431: 425: 356: 343: 320: 318: 309: 298: 294: 283: 279: 275: 272: 268: 261: 250:arrival time 246:arrival time 245: 238: 233: 214: 210: 204: 197: 182:clock signal 175: 163: 132: 123: 122: 120: 105: 96: 86: 79: 72: 65: 53: 41:Please help 36:verification 33: 227:Definitions 689:Categories 651:References 396:Simulation 221:clock skew 186:flip-flops 149:, layout ( 69:newspapers 545:CiteSeerX 305:monotonic 151:placement 626:14564348 364:See also 217:glitches 257:latest. 190:latches 172:Purpose 155:routing 83:scholar 677:  663:  624:  547:  438:  321:static 301:corner 85:  78:  71:  64:  56:  622:S2CID 491:(PDF) 417:Notes 269:slack 176:In a 90:JSTOR 76:books 675:ISBN 661:ISBN 640:link 573:link 436:ISBN 326:PERT 267:The 244:The 232:The 153:and 62:news 614:doi 555:doi 518:doi 469:doi 349:). 188:or 45:by 691:: 636:}} 632:{{ 620:. 610:27 608:. 569:}} 565:{{ 553:. 541:26 539:. 514:12 512:. 493:. 465:10 463:. 459:. 223:. 203:A 196:A 642:) 628:. 616:: 575:) 561:. 557:: 524:. 520:: 475:. 471:: 444:. 280:s 276:s 241:. 112:) 106:( 101:) 97:( 87:· 80:· 73:· 66:· 39:.

Index


verification
improve this article
adding citations to reliable sources
"Static timing analysis"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
synchronous digital circuit
integrated circuits
clock frequency
delay calculation
logic synthesis
placement
routing
circuit simulation
Program Evaluation and Review Technique
synchronous digital system
clock signal
flip-flops
latches
glitches
clock skew
arrival time
delay calculation
corner
monotonic

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.