CS251 - Computer Organization
Computer Science 251
Computer Organization

Dickinson College
Fall Semester 2002
Grant Braught


Class #10 - Propagation Delays


What makes a good circuit?
       Low cost
            Fewer gates
            Fewer inputs per gate
       High speed
            Fewer levels of logic
       Correct operation

Gate Propagation Delays
       Each logic gate takes some amount of time to calculate its output from its input.
       So if an input to a gate changes the output will not change until some amount of time has passed.
            This amount of time is called the Gate Propagation Delay.
       The Gate Propagation delay varies from gate to gate.
            It will also differ between different versions of the same gate.
            Generally, faster gates cost more money!

Typical Gate Propagation Delays:
       We will be using the following Gate Propagation Delays for our hand calculations: Gate Delay -------------------- NOT 4.5 ns AND 7.5 ns OR 7.0 ns NAND 7.5 ns NOR 5.0 ns XOR 6.5 ns
When gates are combined into circuits the circuit will have a propagation delay.
Propagation Delays and Computer Speed:


What is the propagation delay of the following circuit?
To answer this we must consider all possible changes that can occur and find the worst case. Then if we always wait that long we will be sure to have the correct answer regardless of what has happened.
       So if we wait 14.0 ns after any change before looking at the answer
       Then, we know for sure that no matter what the change was the answer will be correct.



Estimating Propagation Delays:

What is the propagation delay for the following circuit?        Looking at all combinations is not the best way to do this.
            That is kind of tedious...
            Besides we are only really concerned with the worst case...

The following process acheives the same result.
       In the worst case the OR gate will require 7.0 ns to compute D.
       The NOT bubble at the input to the AND gate requires 4.5 ns in the worst case.
            Thus, in the worst case the inputs to the AND gate arrive at 4.5 ns.
       The AND gate requires 7.5 ns to compute its output making C available after 12.0 ns (4.5 + 7.5)... in the worst case!
            Thus, the inputs to the NOR gate arrive at MAX(7.0, 12.0) = 12.0 ns.
            The MAX operation accounts for the worst case!
       In the worst cast, the NOR gate requires an additional 5.0 ns to compute Z.
            Thus, the total propagation delay is 17.0 ns (12.0 + 5.0).

       The following diagram illustrates this timing:

Motivation for Logic Simplification:
       Consider a 3 bit Odd Number Detector

How would you build a circuit to compute this function?
Using the methods from the last class:
       Express the function as a truth table.
       Express the truth table as an SOP expression.
       Create a circuit from the SOP expression.

What does the truth table for a 3 bit Odd Number Detector Look Like?
As follows: A B C | E --------+-- 0 0 0 | 0 0 0 1 | 1 0 1 0 | 0 0 1 1 | 1 1 0 0 | 0 1 0 1 | 1 1 1 0 | 0 1 1 1 | 1 What is the straight forward SOP expression that we can generate from this truth table?
As follows: _ _ _ _ E = A B C + A B C + A B C + A B C What does the circuit implementation of this expression look like?
As follows: How long will it take to compute E using this circuit?
4.5ns + 7.5ns + 7.0ns = 19.0ns.
       4.5ns for the NOT gates.
       7.5ns for the AND gates.
       7.0ns for the OR gate.

Is there an easier way to express E?
Yes, E = C
What does this circuit look like?
It is trivial... Just a wire!
Which way would you want to build the circuit?
The second way, I hope!
Why?
It uses less gates!

Using less gates has several possible advantages:
       Cheaper - Less gates cost less money.
       Smaller - Uses less space on a chip.
       More reliable - Less gates means less opportunities for failure.
       Faster??? Maybe but not always.

This gives us several ways to evaluate our circuits:
       Size/Cost: Measured by number of gates.
       Speed: Time measured using the gate propagation delays.

Using a SOP expression does not necessarily give us the best implementation.
       Sometimes you can have a flash of inspiration and see a simpler expression...
       Sometimes you can't!
            This is where logic simplification with Boolean Algebra comes in... Next class...