Professional Documents
Culture Documents
> A
1
C
7 >
7 C
=
<
: ;
! & 9
'
7 B
7 8
1 2 5
1 2 4
$
.
'
1 2 3
"
+
" #
≡
!
'
'
'
%
+
' (
F
F
E
E
K
P
H
L
Q
R
J
M
I
I
I
I
G
/* level of PI nodes initialized to 0,
the others are set to -1.
Invoke LEVEL from PO */
LEVEL(k)
if( k.level != -1)
return(k.level)
else
k.level = 1+max{LEVEL(ki)|ki ∈ fanin(k)}
return(k.level)
S
L
L
W
W
Q
R
T
T
U
V
Y
Y
J
I
X
X
I
G
/* Given arrival times on PI’s */
for L = 0 to MAXLEVEL
for {k|k.level = L}
Ak = max{Aki} + Dk
2
3
d
s
`
c
_
b
a
d
h
_ r
_ `
u z
]^
li
j
k
^
h
`
u
v
_ p _
q u
c
_
y b
j \
_ c
c
_
d
b
d i
a b
∈
d
\
d
_ `
_ c
`
d
b
q
u
]^
a g
\
|
d e
{ |
]^
{ |
_ c
li
`
w
a b k
h z
|
k
q u v
_ c
_ `
_ g
s \
{ | { |
n
f
j
]^
[ \
m m m
4
¼
¼
±
∈
∈
¬
»
®
¬
¡
«
©
¶
¡ ¡ ¡
¡
§ ¨
¥ ¦
µ µ
5
Ê
å É
Ã
Â
Ï Ù
ÔÕ
Ì Å
ä
Ï Ò
×
Ï Ø
Ì
Å
Ö ã
Ì
Å
Ï Ö ×
Ï Ð
Ã
Ä
×
Ò
ÍÎ
ÍÎ
Ë
Ì
Ã
Ä
Ë Ì
à á
Ê Ü
Ë
å
à È
Ì
Å
Æ Ç
Ã
Â
Å Û
à Ä
ÔÕ
Ì
Æ É
Á Â
ÝÞ
À À À
6
ù
ê
ë
ø
é
ð
û
ù
ø
ê
÷ û
ü
ò
ê ö ê
ç î
ø ù
ù ÷
ï
ê
ñ
ù ÷
ü
ê ö
ñ
ë
ó
ô
ý
ê
ñ ý
ë
ý
ó
î
ï
ö
ý
ðñ
ê ï
ö
ý
î
í î
ý
ó ó
ê ë
û ü ë
è é
ú ú ú
7
4
R
; @
&
9
$
&
(
-
-
(
&
9
, R
&
&
#
:
9
* ;
&
, T
9 >
&
&
(
2 3 4
P ,
#
:
# $
&
<
#
:
'
$
&
&
-
,
&
.
*
8
M
9
#
:
) *
O Q
<
&
)
&
-
I J K
&
.
# 0
<
-
&
H I J
# $
&
.
$
#
&
<
&
&
.
, -
&
<
&
>
9
(
#
:
) *
B G
&
D
:
#
' (
&
< *
B E
" &
# :
/ /
1 B C D
&
&
9 9
- -
-
,
&
" # $
* *
N N
7 8
8
w
[ q q q q
\ q
s s sx s { s~
¡
∈
\ \
z z
¢ ¦§
t
r
w
w w
w
q q q
q q q q q
q w
[ q
v v y y | |
\ q
q w
∈
p p
u v u y u | } u } u } u } u } u } u } u } u } u }
]^ _
t
a a
h h
]a
d
d
l
9
Ò
ÊÖ
Ä
Î
Á Ì Ë
Ä Ñ
¶ »
Þ ß
¿
À
«
È
≤
Å
À À
Æ
Á Á
Õ
È
¹ º
¿ À
Æ Ë
Å Ô
Ã
Ë
Á
Î
À ¿ Ù
Ê Ú
Æ À
Á
Ý
¿ À
È
Ä
¿
Ç
À
Î
³ Ê
ÃÏ
Â
À
Ñ
É
Ä
Æ À
à È
Æ Ð
Æ Ð
Ã Ç Á È
Î
¯
° ±
Î
´
Â
Ê Ï
³ Ì
Ð
Ê
¬
À
Æ
² Á
Á
Á
³ Ð
¿ À
± ½
Å
Ä Å
Ä Î
Â
Ä
Á
° ±
Á Á
Á
Ì
Æ
Ð
Ó
Ê
Á
°
À
Ê Â
ª ¯
®
¿ À
Ø Ø
¿ À ¿
Í Ç
Î
Å
¾ ¾ ¾ ¾
¬
×
â
â
á
á
á
á
ã
ê
æ
æ
æ
æ
ë
å
ç
ç
ç
è
è
ä
ä
é
ÿ
ì
ô
ô
ù
þ
ï
ï
ï
ï
î
î
î
î
î
î
î
î
í
í
í
ð
ø
õ
õ
÷
÷
ü
ü
÷
û
ý
ñ
ò
ò
ò
ñ
ò
ò
ñ
ò
ó
ö
ö
ú
ú
Combinational
block
0
0 T
clock The output needs to be stable by t=T
for the correct functionality
11
,
2 3
&
'
$
&
%
)
#
(
+
! "
-
12
m
>
^ v
t
T
l
U
U V
U V
u
<
^
Q
U
Y
C H
r
s
m
V
U V
V u
j k
^ _
T
g h
Z [
E
\
6
F a
RQ
E =
G
T t
\
y
C D
\ y
8 e
?
^
l
U Y ^
U
U V
@ A
C H
X
T
C T
R S
Y o
C D
r s
>
S
^
U V W
R S
Q m
U
V
< =
T
;
K L
>
R S
T
<
U
]
V
g
] ]
Q
E
p p
P Q
d
V
>
A
C
G
O O O
9 : J
8
£
ª
¢
©
{
±
¡
°
¨
~
³
©
°
~
¥
²
¦
©
~
~ ~
~
¤
} ~
« ¬
arr(x2)=0
x2
z
1
z
arr(x1)=0
x1
1
arr(z)?
aware
False
path
´
·
·
µ
¶
¶
c_in s0
¸
¿
¹
»
¸
¾
¹
»
a0
s1
b0
1
0
a1 c_out
b1
mux
ripple carry adder
À
15
16
Ë
Ë
É
Ûè
Ü Ú
Ú
æ
Ý
Ú
Í
û ê
× á
Û
Ë
Ë ù
á
Ù
Ð
à
à
Ø
Ð
Û
Æ
Ï
È
ç
Ø Ý
Ú
Ù
ß
Û
Ú
Æ Ó
ß
ì
Ú à
Ù
áö
È Æ
Ü á
Æ
Ú
à ä
Û ö
Í Ì
Í î Å
Ü Ú
Ì
Ñ
Ü á â
Ý
ß
á
Ñ Ì
Ý
Ì
Î
ß
È Æ
ß Ø
Ú
Å Í æ
È
Ó
Î ô
áö
Ú
Ø
ô
Î
Ç Ì
È
Ý Þ
à
ï
Ë ã
à
Æ
Ü
Û Ø
æ
à
Ü
Ë
Ñ
Å
Ò
È
Ù Ú
å ê
É Ê
É Ê
å á
ï
Û
× Ø Ü
á
ñ ú
ãá
Æ Æ
Ó Ó
Õ Õ Õ Õ
Ð Ð
Ë Ë
ó ó
Ä Å
ü
ü
ü
ü
ý
ý
ü
Controlled value of AND
0 0 1
Controlled value of OR
1 1 0
Controlling value of OR
Non-Controlling value of OR
17
Controlling value!
statically-sensitizable
18
These paths are not
ÿ
is of length 2?
-/
ÿ
&
'
)
'
+ ,
) *
'
&
%
'
(
1
& '
1
# %
# $
" # $
t=0
t=0
t=0
19
3
2
?
>
<
7 C
2
;
<
<
>
<
<
>
7 C
1
8
1
?
4
4
>
>
8 =
F
4
<
<
3 <
<
6 ?
>
<
9 :
3 4
L
1
6
H
3 4
4
K
6 ?
>
5 6
7 C
7 C
3 4
<
E
4
6
0
0
1 1
20
V
k l
R
w
s y
[ n
^ `
X
R
a r
s
y
S Z
w x
v
U
S Z
P ]
V
Z
]
v
w x
l
r {
U d
s t
S Z
n
Y
S Z
p q
P ]
T }
m n
S Z
o
l |
k l
T R
g
R
Q R
21
1
3
2
~
1
4
2
1
~
4
1
2
0
0
22
©
3 4
¨
1
3
¡
2
¦ §
1
¤ ¥
2
£
2
¡ ¢
1
¬
4->2
«
1
2
ª
0
0
23
Ë
³ ´
Ö Ì
Ó Ú
Ò
Ñ
Ì
½ ¾ Ð
Ù
Ö Ê
È
Î
² ·
Ó
Ñ Ò
Ì Ð
µ ¼
Æ
Ó Ú
Ç
Ì
Î
µ º
´
¹
´
»
Ê Ê
Í Î
Å
Æ
´
¹
¸ Ì
Ç
Ì
¸ Ï
´ Ó Ö
Æ Ç
² ·
Å Ç
Ç
Ì
Æ Ç
³ ´
Ä Å
Ü
à Ã
° ±
¯
24
ö
ð
ý
î
é ù
ì ô
í
÷
ö
ç ö
ï ð
ê
õ
ì î
ï
≤
ëí
é ê
ç è
é ö
å æ
õ
ä
ø
í
ê ê
à ã
ú ú
ú
ì ô
è è
ó
ö
ö ö
÷ ÷ ö
à â ÷
ß à á
ò ò
î
25
4
1
! "
3
+ .
1
%
&
4
'
2
*
1
(
4
& '
$ %
4
1
#
2
0
5 Y
>
l {
2 C
q 9
ef
B W
x
p
>
0
q
b
2
4
3
P S
p x
4
R
^
a
@ A
w
a
v w
N
l
U V
>
P Q
>
tu
J O
l
e
< =
H N
m s
: ;
K L
p q p q
8 9
o o
D [
a b
6 7
l m n l m n
H I
k k
}
_
j k j k
F G
] ^
D
a
i i
2 3
\ \
£
£
¢
¢
¥¦
¡
¡
¤
©
§
¨
ª
ª
«
For final controlled output value
late 0 0 Earliest-arriving controlling value
early 1 determines the output stable time
É Õ
Ö
Õ
¼
ÜÝ
Ë Î
»
Ê
# $
Ù Ú
É Í
Û
ØÎ
!
Ý
Â
!
Û
"
,
$
ë
!
ë ö
Û
Ý
× ý
≤
¸
ë ì
ë ì
Ù Ú
¹
Ð
Ï
Ï
Ø
Á
º
É Õ
" +ú
Ú
Ë Î
Î
Ö
½
À ×
ì
ðñ
Õ
ø
ðñ
ë ï Î
± Æ
ë ï
¿
É
Í
³
É Õ
Ö
µ
¸
Ë Î
²
!
òó ô
º
¾
Ù
¹
òó ô
ðñ
Û
Î
¶
ú
ðñ
ë ï
ë ï
ë î
'
Ï ÿ
¶ Ê
ë î É
¸ ½
í
á
Ï Ñ Ò
Ë Î
!
è é
Ü
¸
ç
ë ì
Ì Þ
ç
À
» ¼
ë ì
Ï Ð
Ï
!
&
²
!
Û
ß à
É
ø
¹ º
Õ
º Ã
Ï ü ý
Ê
Í Î
Í Î
ø ù ú
±
²
± ²
î
×
¸
Î
Ï û
¸
Ã É Ì
Ð
Ï
¼
¹ ú
·
äå äå
Í
É Ê
"
ã ã
¶
È É Ê
Á
å
²
´ µ ¶
ØÎ
Ç Ç Î
æ
¸
± ²
O P
4
C
29
W
O A
2
Z
@ A
>
>
>
Z
` a ^
>
>
7
]
? M
Z d
F G 8
Z
>
@ A
i IA
Z ^
I
7 ]
A B
O
/
6
B
@
Q
A
B L
W
I
5
S
K
A
@ A
A
O
?
:
N
6 >
W
B
N A
? J
Z
>
>
1
Y
h
A
>
<
? H ]
F G
S
k
S T
D > q
a
`
1
]
:
k
E 3 [
>
C ? R
1
Y
= >
7 8
A
f
A A
@
?
A
6
I
@ A = >
o o
3 5
>
Y Y
1
<
3 4
2 2
= >
1
V
0 1
X X
30
u
y
g
x
f
x
w
x
d
e
c
y
} ~
x
|
z {
w x
t u
~
b
a
g(1,t=2) : the set of input vectors under which
g gets stable to value = 1 no later than t =2
d
g
a
b e f
Onset:
stabilized by t=2?
c
g(1,t=2) = d(1,t=1) ∩ f(1,t=1)
= (a(0,t=0) ∩ b(0,t=0)) ∩ (c(1,t=0) ∪ e(1,t=0))
= !a!b(c ∪ ∅) = !a!bc = S1(t=2)
g(1,t=∞) = onset = !a!bc = g(1,t=2) = S1 31
g(0,t=2) : the set of input vectors under which
g gets stable to value = 0 no later than t=2
d
g
a
b e f
c
g(0,t=2) = d(0,t=1) ∪ f(0,t=1)
= (a(1,t=0) ∪ b(1,t=0)) ∪ (c(0,t=0) ∩ e(0,t=0))
= (a+b) + (!c ∩ ∅) = a+b = S0(t=2)
g(0,t=∞) = offset = a+b+!c = S0 32
g(0,t=2) : the set of input vectors under which
g gets stable to 0 no later than t=2
d
g
a
b e f
Offset:
NOTstabilized by t=2
under abc=000
c
g(0,t=2) = a+b
g(0,t=∞) = offset = a+b+!c
g(0,t=∞) \ g(0,t=2) = (a+b+!c) !(a+b) = !a !b !c = satisfiable
33
¦
34
¤
¥
³ Ü
¤
¤
ª
§ ®
Ú
Û
º Ð
»
À
»
·
» ¢
« Ù
Í Î Ï
¾
¢
°
· Â
º
»
Ò
¼
Á
©
¡
¶
ä
¼É
Á Â
Ñ ã
Ñ ã
°
Ø
¦
À
¶
Ï
Í Î
Á
»
Ê
¢
· »
Á â
Ú Û
Á å
ª
º »
¤
« Ù
ª
§ ®
¥
§ ¨
ÇÈ
¢ Ò
À Ï
»
º »
»
Ê
º Ð
ç
®
§
¥ ¯
·¸
° Ø
¢ ²
Í Ô
°
Ä
µ ¶
¤
°
Ó
¶
°
´ ´ ´
¤
¢
³
æ
35
ô
ì
ë ø
ÿ
ö
þ
ô õ
ó
ì
ÿ
û
ó
ê
ÿ
ð û
ð
þ
÷
ó
ú
ÿ
ý þ
í î
ü ü ü ü
ë ì
é ê
36
/
V
O
? @
O U
) '
W @
K O
O
K
&
QB
' L
@
O
O
K
W
D
?
O
@
?
Y K
/ #
K
S
;< =
K
L
K
M
\ ]
O O
B
K
S S
D D
O O
G Z
? ?
9 %
O V
O R O R
- .
'
#
@Q @Q
K T
O P O P
'
B B
M
'
N N
@
O
&
GH
?
GH
K K
L L
' D
L L
B E
K
) *
D D
M M
2 7
#
(
C D F
K
B
J K L J K L
I I I
& '
? @A
&
#
> >
$ %
5 6
" #
^
(0,[3,3])
(X,[0,0])
(X,[0,0])
(X,[0,0])
37
_
(X,[1,1])
(0,[3,3])
(0,[0,0])
(0,[1,1]) (X,[2,3])
(X,[0,0])
(X,[1,2])
(X,[0,0])
38
`
(1,[1,1])
(0,[3,3])
(0,[0,0])
(0,[1,1]) (X,[2,3])
(0,[0,0])
(X,[1,2])
(X,[0,0])
39
a
(1,[1,1])
(0,[3,3])
(0,[0,0])
(0,[1,1]) (1,[2,2])
(0,[0,0])
(1,[1,1])
Backtrack!
40
b
(1,[1,1])
(0,[3,3])
(0,[0,0])
(0,[1,1]) (0,[3,3])
(0,[0,0]) Justified!
(0,[2,2])
(0,[0,0])
Found an input vector that makes
the output stable to 0 no earlier than t=3
41