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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.