Title: Lecture%206%20Delays%20and%20Timing%20in%20Multilevel%20Logic%20Synthesis
1Lecture 6Delays and Timing in Multilevel Logic
Synthesis
- Prith Banerjee
- ECE C03
- Advanced Digital Design
- Spring 1998
2Outline
- Gate delays
- Timing waveforms
- Performance calculations
- Static/dynamic hazards and glitches
- Designs to avoid hazards
- READING Katz 3.3, 3.4, 3.5.2, Dewey 6.5.1, 6.5.2
3Time Response in Combinational Networks
emphasis on timing behavior of circuits
waveforms to visualize what is happening
simulation to create these waveforms
momentary change of signals at the outputs
hazards can be useful pulse shaping
circuits can be a problem glitches
incorrect circuit operation
Terms
gate delay time for change at input to cause
change at output minimum delay vs.
typical/nominal delay vs. maximum delay
careful designers design for the worst
case! rise time time for output to transition
from low to high voltage fall time time for
output to transition from high to low voltage
4Concepts of Delays and Timing
- For a given gate, the gate delay refers to the
time it takes the output signal to respond to in
input transition
output
input
5Gate Delays
- Why is there a gate delay?
- There are actual resistances and capacitances
inside digital logic - If you apply a unit step voltage signal to an
input, the output will not respond immediately,
but after a delay proportional to R.C
T delay R.C
Resistance of driver
Capacitance of load
Output
Input
6Delays in Combinational Logic
Input transition
Output transition
QUESTION After the input goes from low to
high how long does it take for the output to go
from low to high (note depends on other inputs
being 1 or 0)
ANSWER Use simple delay models for each gate
and add up delays in a path from input to output
7Delays in Combinational Logic
Low drive
Delay (nsec)
High drive
Wire load Capacitance C
Load capacitance (pF)
8Designing Logic With High Performance
Reduce high load due to fanout
Higher drive gate
Input transition
QUESTION Suppose the delay from input to output
is 30 nsec and is unacceptable. How would you
make a higher performance design? ANSWER Reduce
capacitances at various loads, or use higher
druve gates
9Gate Delays for Typical TTL Families
Delays in nano-seconds
10Gate Delay Specifications
Example gate delays in nanoseconds for LSI Logic
1.5 micron gate array 2 input AND gate.
tpLH Propagation delay from low to high
transition at output tpHL Propagation delay
from high to low transition at output
11Specifying Delays
- Inertial Delay Model
- reflects physical inertia of physical systems
- glitches of very small duration not reflected in
outputs - SIG_OUT lt not SIG_IN after 7 nsec
- Logic gates exhibit lowpass filtering
3 ns
10ns
SIG_IN
2ns
SIG_OUT
9 ns
19 ns
12Transport Delays
- Under this model, ALL input signal changes are
reflected at the output - SIG_OUT lt transport not SIG_IN after 7 ns
3 ns
10ns
SIG_IN
2ns
SIG_OUT
9 ns
19 ns
30 ns
13Pulse Shaping Circuit
A
B
C
D
F
100
D remains high for three gate delays after A
changes from low to high
F is not always 0, pulse width equals 3 gate
delays
14Another Pulse Shaping Circuit
Resistor
A
B
Open
C
D
Switch
Close Switch
Open Switch
Initially undefined
A B C D
15Hazards and Glitches
Unwanting switching at the outputs Occur because
delay paths through the circuit experience
different propagation delays Danger if logic
"makes a decision" while output is unstable
OR hazard output controls an asynchronous input
(these respond immediately to changes
rather than waiting for a synchronizing
signal called a clock) Usual solutions
wait until signals are stable (by using a
clock) never, never, never use circuits
with asynchronous inputs design
hazard-free circuits Suggest that first two
approaches be used, but we'll tell you about
hazard-free design anyway!
16Kinds of Hazards
1
1
Input change causes output to go from 1 to 0 to 1
0
1
Input change causes output to go from 0 to 1 to 0
0
0
1
1
0
0
Input change causes a double change from 0 to
1 to 0 to 1 OR from 1 to 0 to 1 to 0
1
1
0
0
Kinds of Hazards
17Example of a Glitch
A
AB
00
01
11
10
CD
1
1
A
A
1
1
0
0
1
1
00
G1
G1
\C
\C
1
1
1
1
G3
F
G3
F
0
0
\A
\A
1
1
1
1
01
G2
G2
D
D
0
0
D
0
0
1
1
0
0
11
ABCD 1101
ABCD 1100
C
input change within product term
0
0
0
0
10
B
F A' D A C'
0
0
1
A
A
0
A
0
1
G1
G1
G1
\C
\C
\C
0
1
1
1
1
1
G3
F
G3
F
G3
F
0
0
1
\A
\A
\A
G2
G2
G2
D
D
D
0
0
1
1
1
1
ABCD 0101 (A is still 0)
ABCD 0101 (A is 1)
ABCD 1101
input change that spans product terms output
changes from 1 to 0 to 1
18Eliminating Glitches
General Strategy add redundant terms
F A' D A C' becomes A' D A C' C' D
This eliminates 1-hazard? How about 0-hazard?
A
AB
Re-express F in PoS form F (A' C')(A
D) Glitch present! Add term (C'
D) This expression is equivalent to the
hazard-free SoP form of F
00
01
11
10
CD
0
0
1
1
00
1
1
1
1
01
D
1
1
0
0
11
C
0
0
0
0
10
B
19How to design Circuits without Glitches
Start with expression that is free of static
1-hazards
F A C' A' D C' D F' (A C' A'
D C' D)' (A' D) (A D') (C D')
A C A C D' C D' A' C D' A'
D' A C C D' A' D' covers all the
adjacent 0's in the K-map free of static-1 and
static-0 hazards!
Work with complement
20Detecting Static Hazards in Multilevel Circuits
Calculate transient output function variables
and complements are treated as independent
variables cannot use X X' 1 or X X' 0
for simplifications
Example
F A B C (A D) (A' C') F1 A B C
A A' A C' A' D C' D
2-level form
A
AB
00
01
11
10
CD
0
0
1
1
00
ABCD 1111 to 1110, covered by term ABC, so
no 1-hazard present ABCD 1110 to 1100, term ABC
goes low while term AC' goes high some
static hazards are present!
1
1
1
1
01
D
1
1
1
0
11
C
0
0
1
0
10
B
21Static 1 Hazards
Solution
Add redundant terms to insure all adjacent
transitions are covered by terms F2 A C'
A' D C' D A B B D
100
1's hazards in F corrected in F2
22Static 0 Hazards
Similar to previous case, but work with the
complement of F If terms of the transient output
function cover all 0 transitions, then no
0-hazards are present
A
AB
00
01
11
10
CD
F A B C (A D) (A' C')'
0
0
1
1
00
(A' B' C') (A' D' A C) A' D' A' B
D' A' C D' A B' C A' D' A B' C
1
1
1
1
01
D
1
1
1
0
11
C
0
0
1
0
10
B' C D'
B
0-hazard on transition from 1010 to 0010
F (A D) (A' B C') (B C' D)
0-hazard free equivalent to F2 on last slide
23Static 0 Hazards
100
0-Hazard Corrected in F3
24Designing Networks for Hazard Free Operation
Simply place transient output function in a form
that guarantees that all adjacent ones are
covered by a term no term of the
transient output function contains both a
variable and its complement
A
AB
00
01
11
10
CD
0
0
1
1
00
F(A,B,C,D)