Skip to content

Commit 7315360

Browse files
committed
add CSS content
1 parent 80a3a35 commit 7315360

File tree

7 files changed

+54
-60
lines changed

7 files changed

+54
-60
lines changed

algo4dfm/css_under_pv.html

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html>
33
<head>
44
<title>
5-
Clock Skew Scheduling Under Process Variations
5+
Clock Skew Scheduling Under Process Variations
66
</title>
77
<meta charset="utf-8" />
88
<meta
@@ -29,11 +29,11 @@
2929
count: false
3030
class: nord-dark, middle, center
3131

32-
# Yield-driven Clock Skew Scheduling Under Process Variations
32+
# Yield-driven Clock Skew Scheduling Under Process Variations
3333

3434
@luk036
3535

36-
2025-04-26
36+
2025-04-30
3737

3838
---
3939

@@ -50,11 +50,9 @@
5050

5151
## 📝 Abstract (II)
5252

53-
.font-sm.mb-xs[
5453
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.
5554

5655
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-
]
5856

5957
---
6058

@@ -66,9 +64,9 @@
6664

6765
- Problem formulation
6866

69-
- Traditional clock skew scheduling
67+
- Traditional clock skew scheduling
7068

71-
- Yield-driven clock skew scheduling
69+
- Yield-driven clock skew scheduling
7270

7371
- Minimum cost-to-time ratio cycle formulation
7472

@@ -128,7 +126,7 @@
128126

129127
---
130128

131-
## Zero skew vs. Useful skew
129+
## Zero Skew vs. Useful Skew
132130

133131
- Zero skew ($t_i = t_f$) : Relatively easy to implement.
134132

@@ -202,8 +200,6 @@
202200

203201
## Basic Bellman-Ford Algorithm
204202

205-
.font-sm.mb-xs[
206-
207203
```matlab
208204
function BellmanFord(list vertices, list edges, vertex source)
209205
// Step 1: initialize graph
@@ -225,7 +221,6 @@
225221
error "Graph contains a negative-weight cycle"
226222
return u[], predecessor[]
227223
```
228-
]
229224

230225
---
231226

@@ -262,8 +257,7 @@
262257

263258
- However, many skew values are on the bounds of feasible range.
264259

265-
![Timing uncertainty emerges under process
266-
variations](lec05.files/fig07.png)
260+
![Timing uncertainty emerges under processvariations](lec05.files/fig07.png)
267261

268262
---
269263

@@ -349,8 +343,7 @@
349343
Tolerant to Process Variations", DAC'96)
350344

351345
- 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)
354347

355348
Shortcoming: might reduce some slacks to be zero to minimum **total** CES.
356349
This is not optimal for yield.
@@ -360,8 +353,7 @@
360353
## Primitive solution (3)
361354

362355
- 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)
365357

366358
- Advantage: check all skew constraints
367359

@@ -656,25 +648,18 @@
656648

657649
## Slack Maximization (C-PROP)
658650

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}$$
663656

664657
- Equivalent to the *minimum cost-to-time ratio cycle* problem (MMC), where:
665658
- ${\color{orange}\beta}^* = \frac{\sum_{(i,j)\in C} \mu_{ij} }{\sum_{(i,j)\in C} \sigma_{ij} }$
666659
- $C$: critical cycle (first negative cycle)
667660

668661
---
669662

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-
678663
## Whole flow
679664

680665
- After determining the clock arrival time at each vertex in the most
@@ -703,8 +688,6 @@
703688

704689
## Advantages of This Method
705690

706-
- Justified by probability observation.
707-
708691
- Fast algorithm exists for minimum cost-to-time ratio cycle problem.
709692

710693
- Reduce to Even when all variances are equal.
@@ -752,8 +735,7 @@
752735
Any monotonic decreasing function will do.
753736

754737
- 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).
757739

758740
- Question 1: Does this generalization have any application?
759741

@@ -1076,6 +1058,18 @@
10761058

10771059
---
10781060

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+
10791073
count: false
10801074
class: nord-dark, middle, center
10811075

algo4dfm/lec05.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Lecture 05a - Clock Skew Scheduling Under Process Variations
1+
# Lecture 05a - Clock Skew Scheduling Under Process Variations
22

33
@luk036
44

@@ -15,7 +15,7 @@
1515
- Useful skew design 有效偏差设计
1616
- Critical cycles 关键环
1717
- Negative cycles 负环
18-
- Clock skew scheduling (CSS) 时钟偏差安排/规划
18+
- Clock skew scheduling (CSS) 时钟偏差安排/规划
1919
- Yield-driven CSS 产品率驱动时钟偏差安排
2020

2121
## 🗺️ Overview
@@ -24,9 +24,9 @@
2424

2525
- Problem formulation
2626

27-
- Traditional clock skew scheduling
27+
- Traditional clock skew scheduling
2828

29-
- Yield-driven clock skew scheduling
29+
- Yield-driven clock skew scheduling
3030

3131
- Minimum cost-to-time ratio cycle formulation
3232

@@ -255,7 +255,7 @@ variations](lec05.files/fig07.png)
255255
- (J. L. Neves and E. G. Friedman, "Optimal Clock Skew Scheduling
256256
Tolerant to Process Variations", DAC'96)
257257
- Quadratic Programming method
258-
- (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling for
258+
- (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling for
259259
improved reliability via quadratic programming", ICCAD'99)
260260

261261
Shortcoming: might reduce some slacks to be zero to minimum **total** CES.
@@ -264,7 +264,7 @@ This is not optimal for yield.
264264
## Primitive solution (3)
265265

266266
- Incremental Slack Distribution
267-
- (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling
267+
- (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling
268268
under process variations", ISQED'06)
269269
- Advantage: check all skew constraints
270270

@@ -510,7 +510,7 @@ Final result: $T_1=T_1+T_{s_1}+T_{s_3}$
510510
K. Saluja, "Yield-Driven, False-Path-Aware Clock Skew Scheduling",
511511
IEEE Design & Test of Computers, May-June 2005
512512

513-
# Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
513+
# Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
514514

515515
## 🗺️ Overview
516516

@@ -748,7 +748,7 @@ Final result: $T_1=T_1+T_{s_1}+T_{s_3}$
748748

749749
![image](http://www.plantuml.com/plantuml/svg/TOx13i8W44Jl_Ogv0MhKUAJfgLz208L6CB7RMAF-kniCnXxSsqnstem6GNUGb6B66fJChB33eMrm2_7i8VC5sP-si7VBSihENq6g0Pz6YN6Uschye_di2l3BDR_OleBXvpZIMFd7c1r8O9ni00L3nGVhz91nCoXmKOydFmwIX7gXmtwnXSIYdDtLP_0R)]
750750

751-
# Clock Skew Scheduling for Unimodal Distributed Delay Models
751+
# Clock Skew Scheduling for Unimodal Distributed Delay Models
752752

753753
@luk036
754754

algo4dfm/lec05a-remark.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html>
33
<head>
44
<title>
5-
Lecture 05a - Clock Skew Scheduling Under Process Variations
5+
Lecture 05a - Clock Skew Scheduling Under Process Variations
66
</title>
77
<meta charset="utf-8" />
88
<meta
@@ -29,7 +29,7 @@
2929
count: false
3030
class: nord-dark, middle, center
3131

32-
Lecture 05a - Clock Skew Scheduling Under Process Variations
32+
Lecture 05a - Clock Skew Scheduling Under Process Variations
3333
============================================================
3434

3535
@luk036
@@ -74,7 +74,7 @@
7474
- Useful skew design 有效偏差设计
7575
- Critical cycles 关键环
7676
- Negative cycles 负环
77-
- Clock skew scheduling (CSS) 时钟偏差安排/规划
77+
- Clock skew scheduling (CSS) 时钟偏差安排/规划
7878

7979
]
8080
.pull-right[
@@ -92,9 +92,9 @@
9292

9393
- Problem formulation
9494

95-
- Traditional clock skew scheduling
95+
- Traditional clock skew scheduling
9696

97-
- Yield-driven clock skew scheduling
97+
- Yield-driven clock skew scheduling
9898

9999
- Minimum cost-to-time ratio cycle formulation
100100

@@ -387,7 +387,7 @@
387387
- (J. L. Neves and E. G. Friedman, "Optimal Clock Skew Scheduling
388388
Tolerant to Process Variations", DAC'96)
389389
- Quadratic Programming method
390-
- (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling for
390+
- (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling for
391391
improved reliability via quadratic programming", ICCAD'99)
392392

393393
Shortcoming: might reduce some slacks to be zero to minimum **total** CES.
@@ -399,7 +399,7 @@
399399
----------------------
400400

401401
- Incremental Slack Distribution
402-
- (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling
402+
- (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling
403403
under process variations", ISQED'06)
404404
- Advantage: check all skew constraints
405405

algo4dfm/lec05a.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Lecture 05a - Clock Skew Scheduling Under Process Variations
1+
# Lecture 05a - Clock Skew Scheduling Under Process Variations
22

33
@luk036
44

@@ -29,7 +29,7 @@ Overall, the lecture explores various techniques and methods for optimizing cloc
2929
- Useful skew design 有效偏差设计
3030
- Critical cycles 关键环
3131
- Negative cycles 负环
32-
- Clock skew scheduling (CSS) 时钟偏差安排/规划
32+
- Clock skew scheduling (CSS) 时钟偏差安排/规划
3333
- Yield-driven CSS 产品率驱动时钟偏差安排
3434

3535
## 🗺️ Overview
@@ -38,9 +38,9 @@ Overall, the lecture explores various techniques and methods for optimizing cloc
3838

3939
- Problem formulation
4040

41-
- Traditional clock skew scheduling
41+
- Traditional clock skew scheduling
4242

43-
- Yield-driven clock skew scheduling
43+
- Yield-driven clock skew scheduling
4444

4545
- Minimum cost-to-time ratio cycle formulation
4646

@@ -269,7 +269,7 @@ variations](lec05.files/fig07.png)
269269
- (J. L. Neves and E. G. Friedman, "Optimal Clock Skew Scheduling
270270
Tolerant to Process Variations", DAC'96)
271271
- Quadratic Programming method
272-
- (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling for
272+
- (I. S. Kourtev and E. G. Fredman, "Clock skew scheduling for
273273
improved reliability via quadratic programming", ICCAD'99)
274274

275275
Shortcoming: might reduce some slacks to be zero to minimum **total** CES.
@@ -278,7 +278,7 @@ This is not optimal for yield.
278278
## Primitive solution (3)
279279

280280
- Incremental Slack Distribution
281-
- (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling
281+
- (Xinjie Wei, Yici CAI and Xianlong Hong, "Clock skew scheduling
282282
under process variations", ISQED'06)
283283
- Advantage: check all skew constraints
284284

algo4dfm/lec05b-remark.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html>
33
<head>
44
<title>
5-
Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
5+
Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
66
</title>
77
<meta charset="utf-8" />
88
<meta
@@ -29,7 +29,7 @@
2929
count: false
3030
class: nord-dark, middle, center
3131

32-
Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
32+
Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
3333
================================================================
3434

3535
@luk036

algo4dfm/lec05b.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
1+
# Lecture 05b - Clock Skew Scheduling Under Process Variations (2)
22

33
## 🗺️ Overview
44

@@ -161,7 +161,7 @@
161161
- Output:
162162
- Optimal t\* and its corresponding critical cycle C
163163

164-
# Clock Skew Scheduling for Unimodal Distributed Delay Models
164+
# Clock Skew Scheduling for Unimodal Distributed Delay Models
165165

166166
@luk036
167167

algo4dfm/unimodal.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!doctype html>
22
<html>
33
<head>
4-
<title> Clock Skew Scheduling for Unimodal Delay Models</title>
4+
<title> Clock Skew Scheduling for Unimodal Delay Models</title>
55
<meta charset="utf-8" />
66
<meta
77
name="viewport"
@@ -27,7 +27,7 @@
2727
count: false
2828
class: nord-dark, middle, center
2929

30-
# Clock Skew Scheduling for Unimodal Distributed Delay Models
30+
# Clock Skew Scheduling for Unimodal Distributed Delay Models
3131

3232
@luk036
3333

0 commit comments

Comments
 (0)