|
2 | 2 | <html> |
3 | 3 | <head> |
4 | 4 | <title> |
5 | | - ⏰ Clock Skew Scheduling Under Process Variations |
| 5 | + ⌚ Clock Skew Scheduling Under Process Variations |
6 | 6 | </title> |
7 | 7 | <meta charset="utf-8" /> |
8 | 8 | <meta |
|
29 | 29 | count: false |
30 | 30 | class: nord-dark, middle, center |
31 | 31 |
|
32 | | -# ⏰ Yield-driven Clock Skew Scheduling Under Process Variations |
| 32 | +# ⌚ Yield-driven Clock Skew Scheduling Under Process Variations |
33 | 33 |
|
34 | 34 | @luk036 |
35 | 35 |
|
36 | | -2025-04-26 |
| 36 | +2025-04-30 |
37 | 37 |
|
38 | 38 | --- |
39 | 39 |
|
|
50 | 50 |
|
51 | 51 | ## 📝 Abstract (II) |
52 | 52 |
|
53 | | -.font-sm.mb-xs[ |
54 | 53 | The lecture goes on to discuss primitive solutions and their shortcomings, such as pre-allocating timing margins and using the Least Center Error Square (LCES) problem formulation. The lecture also introduces more advanced techniques such as slack maximization (EVEN) and prop-based methods that distribute slack along the most timing-critical cycle based on Gaussian models. The drawbacks of these methods are highlighted, particularly their assumptions about gate delay distributions. |
55 | 54 |
|
56 | 55 | Finally, statistical static timing analysis (SSTA) and the use of statistical methods to account for process variations are discussed. The concept of the most critical cycle is introduced, and the lecture provides experimental results to demonstrate the effectiveness of various clock skew scheduling techniques. |
57 | | -] |
58 | 56 |
|
59 | 57 | --- |
60 | 58 |
|
|
66 | 64 |
|
67 | 65 | - Problem formulation |
68 | 66 |
|
69 | | -- Traditional clock skew scheduling ⏰ |
| 67 | +- Traditional clock skew scheduling |
70 | 68 |
|
71 | | -- Yield-driven clock skew scheduling ⏰ |
| 69 | +- Yield-driven clock skew scheduling |
72 | 70 |
|
73 | 71 | - Minimum cost-to-time ratio cycle formulation |
74 | 72 |
|
|
128 | 126 |
|
129 | 127 | --- |
130 | 128 |
|
131 | | -## Zero skew vs. Useful skew |
| 129 | +## Zero Skew vs. Useful Skew |
132 | 130 |
|
133 | 131 | - Zero skew ($t_i = t_f$) : Relatively easy to implement. |
134 | 132 |
|
|
202 | 200 |
|
203 | 201 | ## Basic Bellman-Ford Algorithm |
204 | 202 |
|
205 | | -.font-sm.mb-xs[ |
206 | | - |
207 | 203 | ```matlab |
208 | 204 | function BellmanFord(list vertices, list edges, vertex source) |
209 | 205 | // Step 1: initialize graph |
|
225 | 221 | error "Graph contains a negative-weight cycle" |
226 | 222 | return u[], predecessor[] |
227 | 223 | ``` |
228 | | -] |
229 | 224 |
|
230 | 225 | --- |
231 | 226 |
|
|
262 | 257 |
|
263 | 258 | - However, many skew values are on the bounds of feasible range. |
264 | 259 |
|
265 | | - |
| 260 | +  |
267 | 261 |
|
268 | 262 | --- |
269 | 263 |
|
|
349 | 343 | Tolerant to Process Variations", DAC'96) |
350 | 344 |
|
351 | 345 | - Quadratic Programming method |
352 | | - - (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling ⏰ for |
353 | | - improved reliability via quadratic programming", ICCAD'99) |
| 346 | + - (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling for improved reliability via quadratic programming", ICCAD'99) |
354 | 347 |
|
355 | 348 | Shortcoming: might reduce some slacks to be zero to minimum **total** CES. |
356 | 349 | This is not optimal for yield. |
|
360 | 353 | ## Primitive solution (3) |
361 | 354 |
|
362 | 355 | - Incremental Slack Distribution |
363 | | - - (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling ⏰ |
364 | | - under process variations", ISQED'06) |
| 356 | + - (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling under process variations", ISQED'06) |
365 | 357 |
|
366 | 358 | - Advantage: check all skew constraints |
367 | 359 |
|
|
656 | 648 |
|
657 | 649 | ## Slack Maximization (C-PROP) |
658 | 650 |
|
659 | | -- Slack Maximization Scheduling $$\begin{array}{ll} |
660 | | - \text{maximize} & {\color{orange}\beta} \\ |
661 | | - \text{subject to} & {\color{red}t_j} - {\color{red}t_i} \leq \mu_{ij} - \sigma_{ij} {\color{orange}\beta} |
662 | | - \end{array}$$ |
| 651 | +- Slack Maximization Scheduling |
| 652 | + $$\begin{array}{ll} |
| 653 | + \text{maximize} & {\color{orange}\beta} \\ |
| 654 | + \text{subject to} & {\color{red}t_j} - {\color{red}t_i}\leq \mu_{ij} - \sigma_{ij} {\color{orange}\beta} |
| 655 | + \end{array}$$ |
663 | 656 |
|
664 | 657 | - Equivalent to the *minimum cost-to-time ratio cycle* problem (MMC), where: |
665 | 658 | - ${\color{orange}\beta}^* = \frac{\sum_{(i,j)\in C} \mu_{ij} }{\sum_{(i,j)\in C} \sigma_{ij} }$ |
666 | 659 | - $C$: critical cycle (first negative cycle) |
667 | 660 |
|
668 | 661 | --- |
669 | 662 |
|
670 | | -## Probability Observation |
671 | | - |
672 | | -- Prob(timing failure) turns out to be an Error function that solely |
673 | | - depends on this ratio. Therefore, it is justified to use this ratio |
674 | | - as critical criteria. |
675 | | - |
676 | | ---- |
677 | | - |
678 | 663 | ## Whole flow |
679 | 664 |
|
680 | 665 | - After determining the clock arrival time at each vertex in the most |
|
703 | 688 |
|
704 | 689 | ## Advantages of This Method |
705 | 690 |
|
706 | | -- Justified by probability observation. |
707 | | - |
708 | 691 | - Fast algorithm exists for minimum cost-to-time ratio cycle problem. |
709 | 692 |
|
710 | 693 | - Reduce to Even when all variances are equal. |
|
752 | 735 | Any monotonic decreasing function will do. |
753 | 736 |
|
754 | 737 | - Theorem: if $g(\beta)$ and $f_{ij}(\beta)$ are *monotonic decreasing* |
755 | | - functions for all $i$ and $j$, then there is a unique solution to the problem. |
756 | | - (prove later). |
| 738 | + functions for all $i$ and $j$, then there is a unique solution to the problem. prove later). |
757 | 739 |
|
758 | 740 | - Question 1: Does this generalization have any application? |
759 | 741 |
|
|
1076 | 1058 |
|
1077 | 1059 | --- |
1078 | 1060 |
|
| 1061 | +## Conclusion and Future Direction |
| 1062 | + |
| 1063 | +- Asymmetric Delays |
| 1064 | + |
| 1065 | +Path delays often exhibit asymmetric and heavy-tailed distributions, which cannot be accurately captured by the commonly used Gaussian model. |
| 1066 | + |
| 1067 | +- GEV Distribution |
| 1068 | + |
| 1069 | +The Generalized Extreme Value (GEV) distribution can better fit the actual delay distributions, with its flexible parameters allowing for a variety of skewness and tail behaviors. |
| 1070 | + |
| 1071 | +--- |
| 1072 | + |
1079 | 1073 | count: false |
1080 | 1074 | class: nord-dark, middle, center |
1081 | 1075 |
|
|
0 commit comments