14:332:231 DIGITAL LOGIC DESIGN Gate Delays

advertisement
14:332:231
DIGITAL LOGIC DESIGN
Ivan Marsic, Rutgers University
Electrical & Computer Engineering
Fall 2013
Lecture #8: Timing Hazards
Gate Delays
• When the input to a logic gate is changed, the
output will not change immediately.
• The switching elements within a gate take a finite
time to react to a change (transition) in input.
• As a result the change in the gate output is
delayed w.r.t. to the input change.
• Such delay is called the propagation delay of the
logic gate (tp)
• The propagation delay for a 0-to-1 output change
(tpLH) may be different than the delay for a 1-to-0
change (tpHL).
2 of 21
1
[RECALL from Lecture #1] Transition Delays
(a) Ideal case of zero-time switching:
(b) A more realistic approximation:
tr
tf
(c) Actual timing for rise (tr, low-to-high) and fall (tf, high-to-low) times:
HIGH
UNDEFINED
VIHmin
LOW
VILmax
tr
tf
3 of 21
Propagation Delays for a CMOS Inverter
(a) Ignoring rise and fall times:
VIN
X
NOT X
0
1
1
0
VOUT
tpHL
tpLH
(b) Measured at midpoints of transitions:
VIN
VOUT
tpHL
tpLH
4 of 21
2
Effect of Gate Delays
• The analysis of a combinational circuit ignoring
delays can predict only its steady-state behavior
– Predicts a circuit’s output as a function of its inputs
assuming that the inputs have been stable for a long
time, relative to the delays in the circuit’s electronics.
• Because of circuit delays, the transient behavior
of a combinational logic circuit may differ from
what is predicted by steady-state analysis.
• Timing hazard: a circuit’s output may produce a
short pulse (“glitch”) at a time when steady state
analysis predicts that the output should not
change.
5 of 21
Timing Hazard
• A gate has measurable response time tpLH and tpHL.
Around 10ns per gate.
• Delays through transmission gates can add up and
introduce timing hazards.
• tpLH = low-to-high, tpHL = high-to-low propagation times
• static-1 hazard is a short “0” glitch when for a changed
input, we expect (by logic theorems) the output to remain
constant “1”.
• static-0 hazard is a short “1” glitch when we expect the
output to remain constant “0”.
(delay)
input
Logic circuit
Gate
(no delay)
6 of 21
3
Circuit with a Static-1 Hazard
Ideal scenario:
X
X·ZP
ZP
F
Z
Y·Z
Y
• Assume: X,Y,Z =111
• Consider a transition to X,Y,Z=110
• What we logically expect:
F = X·Z + Y·Z
• Before: F = 1·(1) + 1·1 = 1·0 + 1 = 1
• After:
F = 1·(0) + 1·0 = 1·1 + 0 = 1
•  No change in the output !!
time
X
Y
1

Z
0
ZP
X·ZP
Y·Z
F
7 of 21
Real World Gates Introduce Delays
X
F
Z
Z
delay
Y
 Input signal of each gate is shifted in the output by a constant delay
8 of 21
4
Different Paths Introduce Different Delays
second path
X
1
0
F
ZP
Z
X·ZP
first path
Y
Y·Z
F:
Change occurs at input Z and propagates to output F
Basically because of gate
along two paths with different delays
delays for a moment when
input changes it is not true that
A+A=1 !
9 of 21
Circuit with a Static-1 Hazard
Real world:
X·ZP
X
ZP
Z
AND-1
F
NOT
OR
Y·Z
AND-2
Y
Assume: X=1 Y=1 Z=1  0
Z
1
1

time
0
0
ZP
1
delay in NOT gate
0
Y·Z
1
delay in AND-2 gate
0
X·ZP
1
delay in AND-1 gate (following NOT gate)
0
Unexpected “glitch”
in the output F
F
1
0
delay in OR gate
10 of 21
5
Timing Hazards and Karnaugh Maps
• Recall that in Sum-of-Products (AND-OR)
circuits, AND gates correspond to prime
implicants of the Karnaugh map
• A potential hazard exists wherever two
adjacent 1-cells in a Karnaugh map are not
covered by a single product term (prime
implicant)
• A hazard occurs when there is a transition
between adjacent prime implicants
11 of 21
Eliminating the Timing Hazard
• To eliminate hazards, find a cover in which
all adjacent 1-cells are covered by a prime
implicant
• Define “consensus” prime implicant, as a
product term not covered in F
• Therefore, include an extra product term to
cover the hazardous input combination
12 of 21
6
Eliminating the Timing Hazard
X
Z
X
XY
Y·Z
00
01
11
0
0
2
6
1
1
3
7
1
1
1
X · Z
10
4
Z
XY
00
0
1
5
01
Z
1
1
Y·Z
Y
Minimal cost F = X · Z + Y · Z
11
10
1
1
X · Z
Z
1
X·Y
Y
F = X · Z + Y · Z + X · Y
(these adjacent 1-cells are NOT covered  1-hazard)
(consensus term)
X
X·ZP
ZP
Z
F
Y·Z
Y
X·Y
A “redundant” term was introduced.
13 of 21
So, How Does This Help?
X
X·ZP
ZP
F
Z
Y·Z
Y
X·Y
 Unexpected “glitch” is eliminated !
F:
A change in input variable Z causes a transition between two adjacent 1-cells
but now these 1-cells are included in the product term X·Y
14 of 21
7
Why This Works
X
Because the consensus
term X·Y fills in (“covers”)
the temporary gaps during
switching from one active
AND gate (e.g., X·Z) to
another (e.g.,Y·Z)
XY
Z
00
01
11
10
1
1
1
1
0
1
Y·Z
X · Z
Z
X·Y
Y
F = X · Z + Y · Z + X · Y
(consensus term)
X
X·ZP
ZP
Z
F
Y·Z
Y
X·Y
15 of 21
Another Example (four variables)
X·Y·Z
X·Y·Z
W
WX
YZ
00
00
01
0
4
1
5
W·Z
01
11
Y
10
3
2
1
1
7
6
1
1
1
11
12
1
8
00
9
15
11
14
1
00
W·X·Z
13
1
W
WX
YZ
10
01
11
1
1
01
1
1
11
1
1
10
Z
Z
1
1
1
1
1
Y
10
1
10
Y·Z
W·Y
X
F = X·Y·Z + W·Z + W·X
X
W·X·Z
F = X·Y·Z + W·Z + W·X
+ W·X·Y + Y·Z + W·X·Z
16 of 21
8
Circuit with a Static-0 Hazard
W
X
Z
second path
0
0
0
01
ZP
0
10
1
10
0
first path
01
Y
W+X+ZP
Y+Z
F
01
0
0
1
YP
1
XP
Output is supposed to remain
constant at logic “0” when input
variable Z changes its value 01,
but instead the output undergoes
a short change to logic “1”
XP+YP
1
Product of sums: static-0 hazard
17 of 21
Circuit with a Static-0 Hazard
01
ZP
0
10
10
01
Y
W+X+ZP
Y+Z
F
01
0
0
1
YP
1
XP
XP+YP
1
time
0
Z
0
0
Z
1

X
0
1
W
0
ZP
1
0
Y+Z
1
0
W+X+ZP
1
0
F
1
0
18 of 21
9
Dynamic Hazards
• Dynamic hazard: Output signal is
supposed to change 10 or 01
but a short oscillation occurs before the
output settles to its new logic value.
• Occurs if there are multiple paths with
different delays from the changing input to
the changing output.
• In practice many input variables, multiple
outputs;
solved by computer programs
19 of 21
Example of Dynamic Hazard
W
X
Y
0
slow
1
0
01
010
0
1
0
slower
F
1010
10
third path
first path 10
Z
oscillation in output:
second path
10
1
Change occurs at input X and propagates to output F
along three paths with different delays
20 of 21
10
Example of Dynamic Hazard
W
X
Y
1
0
0
slow
1
0
10
0
1
0
010
F
1010
slower
10
1
1
Z
10
1
F:
Change occurs at input X and propagates to output F
along three paths with different delays
21 of 21
11
Download