Home
4Art
    Favorite Artists
    Personal Art
    Tutorials
4Education
    Astronomy
    Cryogenic Fluids
    Logic & Circuits
4Personal
    Dallas Photographs
    Cancun Photographs
    Hawaii Photographs
4Professional
    Business Skill
    Employment History
    Programming
    Web Administration
4Recreation
    Television
    Gaming - RPG
4Administration
    Navigation
    Sites
    Users
    Groups
 
 

Department of Computing

Course DoC 112 -- Hardware

 

Lecture 6: Physical Time-Dependent Behaviour of Digital Circuits and Feedback

 

Two rather different quasi-physical models of an inverter gate have been shown in the previous lecture. The first one is the Delay Model. This model uses a perfect switch (on/off) which connects the output to ground (zero volts) when closed. It has no effect on the circuit when it is open. When the switch is open the output goes high and settles at a positive voltage (the exact value depends on the resistors Rsource and Rload). There is a delay between the input voltage attaining a threshold positive value and the switch closing.

. .

 

The time dependent behaviour of the input and output voltages are shown on the next diagram:

 

 

. .

The second quasi-physical model of an inverter gate uses a variable resistor.

 

. .

 

In this model the output does not change instantaneously like a switch; however, Vout vs Vin (as shown in the next diagram) is not a linear function. The output vs. input voltage of a given configuration (with a given Rload) will have the form:

 

.

We can see that the output remains relatively high (around 3.5 volts) as long as the input voltage is below 1 V. When the input voltage is above 1.5 V then the output is already very low, near to zero, in practice it is near to 0.3V. In fact, this model is closer to the actual physical truth because physical voltage signals cannot change instantaneously.

 

We can use this graph (Vout vs. Vin) to produce the input and output voltage waveforms as functions of time and get:

 

. .

which is similar to the one generated by our first model. Thus, the two models seem to agree as far as their output behaviours are concerned.

 

The output is an analogue signal, it is continuous, but we want to build a digital computer! How can we convert analogue signals to indicate digital values? Actually, the solution is quite ingenious and involves the concept of noise margin.

 

.

 

Real physical signals are never steady. They vary, often randomly in time and we say that they have noise. In order to associate such signals with digital values, we define three distinct signal values: Logic-0, Logic-1, and Indeterminate. If the signal is larger than 1.7 volts then it has the value of Logic-1. If the signal is lower than 0.5 volts then it is Logic-zero. Otherwise, its "digital" value is Indeterminate. Now, with our second (non-linear resistor) model, if the input is below 0.5 volts, the output will be around 3.5 volts which is definitely a Logic-1. If the input is above 1.7 volts (our rule) then the output will be around 0.3 volts which is definitely a Logic-0. This means that after we have wired up a combinational circuit (of any complexity) and provided it with proper input values, no Indeterminate values will be ever present, assuming that we have waited long enough for all the devices to switch to their final state. We have to wait in a real situation because of gate delays. During switching, all devices must go through the Indeterminate phase.

 

What is even more exciting, noise (if moderate) will not destroy our "perfect" digital system. The nominal Logic-1 voltage is 3.5 volts and Indeterminate (trouble) state starts only at 1.7 volts; therefore, any noise wave with a peak-to-peak noise wave of less than 2x(3.5-1.7) = 3.6 volts will not upset our steady Logic-1 output. Similarly, at Logic-0 the nominal voltage is 0.3 volts but should be less than 0.5 volts, so the noise margin is peak-to-peak 2x(0.5-0.3) = 0.4 volts.

 

In order to see why we have different noise margins at the Logic-0 and the Logic-1 states, we need a bit of analysis. Lets go back to our second model with a typical value of 1000 Ohms for Rsource.

 

.

 

Electrical engineers learn Ohm's law early in their student carrier and can tell you that the output Voutput can be calculated by:

 

Voutput = Vsource * Rvar /( Rsource + Rvar )

 

Here Vsource represents noise. Since the variable resistor is non-linear, it will have different values for its Logic-1 and Logic-0 states. For example, if we measure it, we may find that for the Logic-1 state its resistance is equal to 3000 Ohms. If we assume a noise signal with 3 volts peak-to-peak (this is rather pessimistic), we get:

 

Vnoise = 3.0 * 3000 /( 3000+1000 ) = 2.2V p-to-p

 

which is below our danger limit. Now if we switch to the Logic-0 state, the resistance drops to a low 20 Ohms (these are reasonably realistic values), and we have:

 

Vnoise = 3.0 * 20 /( 20 + 1000 ) = 0.06V p-to-p

 

still well below the danger limit of 0.4 volts peak-to-peak. Even with this large amount of noise our digital circuit will work reliably.

 

 

Fan-Out

 

The term fan-out refers to the connection of the output of one gate to many inputs. The important question is, how many input devices could be connected to one gate? We can answer this question with our model if we ask again the advice of our Electrical Engineering friends about the total resistor value of resistors connected in parallel. We can approximate the circuit by ignoring Rvar when we have:

 

.

 

Our electrical engineering friend tells us that the combined resistor value of "N" resistors connected in parallel is:

 

Rtotal = (1/N) Rgate

 

The total load resistor decreases as we connect more and more input gates to our device. Let us calculate the output voltage at the Logic-1 level with a load resistor of 10,000 Ohms.

 

 

Vout = (3.5 V) * (10000/N) /[ 1000 + (10000/N) ] > 1.7 V

 

we get:

 

1,700 N < 18,000

 

and the maximum number of gates we can connect is ten or so. This is the fan-out of an ordinary 7400 series gate (normally). There are special "amplifier" gates whose fan-out is much larger.

 

 

Feedback Connections

 

You may well ask: why do we need these physical models? We have shown that digital gates work reliably. We connect them and that's all to it. Unfortunately, things are never that simple. If we want to look at the general case, when any input can be connected to any output then we have to consider feedback connections. One such feedback connection is shown in the next diagram which uses a two-input NAND gate.

 

.

 

The question is: what is the truth table of this one-input (A), one-output (R) device?

 

If A is at Logic-0 then the output of the NAND gate will be high. Since this is "fed back" to the other input, we have 10 as inputs which is still consistent with a Logic-1 output of the NAND gate. Thus, we have a consistent circuit. However, if the input A is set to Logic-1 then it depends what the output R is before we can tell what the other input is. Since R was high when A was low, we start with this value. Now the NAND inputs are at 11 which wants to make the output to be 0 (the opposite what it was). However, if the output is 0 then it is fed back to the input and we have 01 for inputs which should make the output to be 1. We found an inconsistent circuit.

 

Now let us use our physical models to try to figure out what will happen. The switch with the delay indicates oscillation. Say, the output is high. This is sensed by the circuit but the output will not change for a small time interval (delay time). After changing, another delay time elapses before the output will change again.

 

.

 

We have not finished yet. What kind of behaviour will our second model give us? When the A input of the NAND gate is set to Logic-1 the device becomes a one-input, one-output inverter. We can use feedback to connect this output to the input and in fact we have the simple equation for the inverter:

 

Vin = Vout

 

In the following diagram the above equation can be indicated by a line at 45o. The line crosses the output/input curve at 1.13 volts and there is no oscillation. The output settles to the Indeterminate value (so, it is not good at all).

 

.

 

The fascinating thing is that in the laboratory either output behaviour of an inconsistent circuit can occur. It may oscillate or settle at an Indeterminate value.

 

As a last example of a general circuit with feedback, we demonstrate a method by which the behaviour of a feedback circuit may be determined. Consider the following circuit which uses two NAND gates:

 

 

.

 

For this method we use the Delay Model. The first step is to give a signal name to all inputs and outputs. The signals A, B, and R have been specified with the circuit, we use the symbol S1 for the output of the first NAND gate.

 

The second step is to find the Boolean equation for all outputs in terms of the signal inputs.

 

 

S1 = (A•R)'

 

R = (S1•B)'

 

With the delay model the outputs change after some delay; thus we can assume that all signals have constant values for a small interval. We will call this small interval of time now. According to the circuit equations, the outputs may change or not change depending on their input values at now. After some small delay time, signals will change to new values and will remain again constant for a short interval, which we call later. We have to look at all possible combinations of signal values at time now and calculate their new values for time later in order to analyse a circuit with feedback. In our example, let us apply the proper voltage values for A and B as logic 0 and logic 1. U stands for "unknown", i.e. either 1 or 0. The rules of Boolean algebra can be stated for these UNKNOWN values as:

 

U•U = U ; U•0 = 0 ; U•1 = U ; U+U = U ; U+0=U ; U+1=1 ; U’ = U

 

now 1 gate delay later 2 gate delays later N gate delays later

A 0 0 0 0

B 1 1 1 1

S1 U 1 1 1

R U U 0 0

 

Finally, for each possible now combination of all the signals (both inputs and outputs) we calculate the signal values at the later time. The independent inputs (A,B) do not change. There are four possible cases for these. We encircled the stable states, indicating that these states will not change (the now and later values are the same)

 

 

.

 

We can also construct a transition diagram for this circuit. Every one of the sixteen possible states as a now state turns into one of the states as a later state. This can be indicated by an arrow:

 

.

Both the list and especially the diagram demonstrates the following:

 

If the input values AB are 00 the outputs settle to values 11

If the input values AB are 01 the outputs settle to values 10

If the input values AB are 10 the outputs settle to values 01

If the input values AB are 11 the outputs settle either to values 10 or to values 01 or they could

possibly oscillate between the values 11 and 00.

 

A fascinating result! When we set the inputs to be 11 the R output is either 0 or it is 1 and it is stable. We discovered memory!!

 
 
 
 
Email comments to: Joshua Jacobsen
Last modified: 1/23/2005 11:42:15 AM
Make This Page Your HomepageMake This Page a FavoritePrint This Page
URL for this page: http://www.drowlord.com/education/logic_design/h06.html
Copyright© 1999 - 2005 Joshua Jacobsen