Timing and Hazards
Jan 19, 2016
Timing and Hazards
Logical levels
Positive Logic
Negative Logic
5v = 1
0v = 0
0v = 1
5v = 0
Noise – basic concepts
0
1Ideal World
Noise – basic concepts
0=0v
1=5vIdeal World
0
1Real World
Positive Logic
Voltage
Voltage
Noise – basic concepts
0
1
Real World
Positive Logic
Noise – basic concepts
5v
0v
1v1.5v
Output RangeInput Range
Input Range Output Range4v
3.5v
High Value
Low Value
Timing – basic concepts
0
1Ideal World
“zero” time to change
Timing
0
1Ideal World
“zero” time to change
0
1Real World
measurable time to change
Timing
0
1
Ideal World Input
0
1
Output
Timing
0
1
Ideal World Input
0
1
Output
0
1
Real World
0
1
Timing – Delay Time
0
5V
Input
Output
Time
50%
50%
50%
50%
tHL
tLH
Propagation delay = tPD = max(tHL,tLH)
Timing – Contamination time
0
5V
Input
Output
Time
50%
tCD
The minimum time in which the input changed (50%) and the output didn’tchange.
Timing Rise and Fall time(measured on the output)
0
1
10%
90%
trRise Time
10%
90%
tfFall Time
Output
The tpd of a circuit
The function : X1*X2 + X3’
A
C
BX3
X2
X1
Data in ns A B C
tHL 100 90 80
tLH 110 70 100
tCD 12 8 10
tr 20 12 14
Tf 17 13 19
Y
The tpd of a circuit a single assignment
The function : X1*X2 + X3’
A
C
BX3=1
X2=01X1=1
Data in ns A B C
tHL 100 90 80
tLH 110 70 100
tCD 12 8 10
tr 20 12 14
Tf 17 13 19
Y
The tpd of a circuit a single assignment
The function : X1*X2 + X3’
A
C
BX3=1
X2=01X1=1
Data in ns A B C
tHL 100 90 80
tLH 110 70 100
tCD 12 8 10
tr 20 12 14
Tf 17 13 19
01
The tpd of a circuit a single assignment
The function : X1*X2 + X3’
A
C
BX3=1
X2=01X1=1
Data in ns A B C
tHL 100 90 80
tLH 110 70 100
tCD 12 8 10
tr 20 12 14
Tf 17 13 19
01
Y 01
The tpd of a circuit a single assignment
X2=01
Output of A
Output of C
tLH(A)
tLH(B)
The tpd of a circuit a single assignment
X2=01
Output of A
Output of C
tLH(A)
tLH(B)
tLH(A) + tLH(B)
The tpd of a circuit
The tpd of a circuit is the maximal value
Over all the possible single assignments
The tcd of a circuit a single assignment
X2=01
Output of A
Output of C
Real tCD(Circuit)
The tcd of a circuit a single assignment
X2=01
Output of A
Output of C
tCD(A)
tCD(B)R
The tcd of a circuit a single assignment
X2=01
Output of A
Output of C
tCD(A)
tCD(B)R
Real tCD(Circuit) = tCD(A) + tCD(B) + R
The tcd of a circuit a single assignment
tCD(Circuit) = tCD(A) + tCD(B) <
tCD(A) + tCD(B) +R = Real tCD(circuit)
Since tCD is the minimum
The tCD of a circuit
The tCD of a circuit is the minimal value
Over all the possible single assignments
Timing The minimum time for the output to change
What is the minimal time that the output will change over a single assignment?
The minimum time for the output to change a single assignment
X2=01
Output of A
Output of C
tLH(A)
tLH(B)
tLH(A) + tLH(B)
The minimum time for the output to change a single assignment
X2=01
Output of A
Output of C
tLH(A)
tLH(B)
tLH(A) + tLH(B)
The minimum time for the output to change a single assignment
Real Minimum Time =
tLH(A) + tHL(A) + Tr(X2) + Tr(C)
2
The minimum time for the output to change a single assignment
Real Minimum Time =
tLH(A) + tHL(A) + Tr(X2) + Tr(C)
2
< Max(Tr(X2), Tr(C))
The minimum time for the output to change a single assignment
Estimated Minimum Time =
tLH(A) + tHL(A) +Max(Tr(X2),Tr(C)) >
Real Minimum time
Problems in timing
Y = X2*X3 + X1*X2’
B
DA
C
X1
X2
X3
Y
Assume tHL=tLH > 0 And equal for all gates
Problems in timing
Y = X2*X3 + X1*X2’
B
DA
C
X1=1
X2=1
X3=1
Y=1
Problems in timing
Y = X2*X3 + X1*X2’
B
DA
C
X1=1
X2=1
X3=1
Y=1
0
0
1
Change in input – final state
Y = X2*X3 + X1*X2’
B
DA
C
X1=1
X2=10
X3=1
Y=1
We changed the input But the result remained the same
1
1
0
Change in input – Time slice 1
Y = X2*X3 + X1*X2’
B
DA
C
X1=1
X2=10
X3=1
Y=1
Change in input – Time slice 2
Y = X2*X3 + X1*X2’
B
DA
C
X1=1
X2=10
X3=1
Y=1
01
0
10
1
Change in input – Time slice 3
Y = X2*X3 + X1*X2’
B
DA
C
X1=1
X2=10
X3=1
Y=0
1
01
0
10
Change in input – Time slice 4
Y = X2*X3 + X1*X2’
B
DA
C
X1=1
X2=10
X3=1
Y=1
1
1
0
01
Input Change Time 0
X2
A
B
C
Y
1
0
0
1
1
0
1
1
0
0
Input Change Time 1
X2
A
B
C
Y
1
0
0
1
1
0
1
1
0
0
Input Change Time 2
X2
A
B
C
Y
1
0
0
1
1
0
1
1
0
0
Input Change Time 3
X2
A
B
C
Y
1
0
0
1
1
0
1
1
0
0
Input Change Time 4
X2
A
B
C
Y
1
0
0
1
1
0
1
1
0
0
Static Hazard
X2
A
B
C
Y
1
0
0
1
1
0
1
1
0
0
Static Hazard – A change in a single input That should not change the outputLeads to a momentary change.
Static hazard – another point of view
00 01 11 10
0 1
1 1 1 1
X2X3X1
Static hazard – another point of view
00 01 11 10
0 1
1 1 1 1
X2X3X1
Static hazard – another point of view
00 01 11 10
0 1
1 1 1 1
X2X3X1