Transcript 2

Chapter 2
Combinational
Systems
And / Or / Not
TRIAD PRINCIPLE:
Combinational is about And / Or / Not combinations
As well as equivalent functions.
It does not include memory or feedback.
Input to any system is a switch.
Output is an LED.
The devices are OFF (0, false) or ON (1, true)
Continuing Examples (CE)
These are representative and will show up being implemented in various ways.
CE1. A system with four inputs, A, B, C, and D, and one output, Z, such that Z=1 if three of
the inputs are 1.
CE2. A single light (that can be on or off) that can be controlled by any one of three
switches. One switch is the master on/off switch. If it is off, the lights are off. When the
master switch is on, a change in the position of one of the other switches (from up to down
or from down to up) will cause the light to change state.
CE3. A system to do 1 bit of binary addition. It has three inputs (the 2 bits to be added plus
the carry from the next lower order bit) and produces two outputs, a sum bit and a carry to
the next higher order position.
CE4. A system that has as its input the code for a decimal digit, and produces as its output
the signals to drive a seven-segment display, such as those on most digital watches and
numeric displays (more later).
CE5. A system with nine inputs, representing two 4-bit binary numbers and a carry input,
and one 5-bit output, representing the sum. (Each input number can range from 0 to 15; the
input can range from 0 to 31.)
SOLUTION TECHNIQUES
Step 1:
Represent each of the inputs and output in binary.
Step 1.5: If necessary, break the problem into smaller
subproblems.
Step 2:
Formalize the design specification either in the form
of a truth table or
of an algebraic expression.
Step 3:
Simplify the description.
Step 4:
Implement the system with the available components,
subject to the design objectives and constraints.
Truth table
1. Create column for each input
2. Create column for each output
3. Number of rows needed = 2#cols
4.
5.
6.
7.
Start with inside column, alternate 0 & 1
Next column uses pairs
Outside column is first half 0, second 1
Result should give all possible combinations
8. Output shows result for corresponding input.
9. Labels are flexible, in = low characters, out=high
10. Each row represents a digital value made of the o & 1’s.
CE1. A system with four inputs, A, B, C, and D, and one output, Z,
such that Z=1 if three of the inputs are 1.
Multiple ways to interpret.
One output for each way
1. Only 3 have 1
2. 3 or more have 1
3. >3 don’t care
Four inputs, 3 outputs
First row has value of 0000 = 0
Second row value of 0001 = 1
Last row value of 1111 = 15
Outputs are independent.
CE2. A single light (that can be on or off) that can be controlled by any one of
three switches. One switch is the master on/off switch. If it is off, the lights are off.
When the master switch is on, a change in the position of one of the other
switches (from up to down or from down to up) will cause the light to change state.
1. A is master, if it =0, then out = 0
2. Two different interpretations depend on start state.
3. If start = 0, then change makes out = 1
4. If start = 1, then change makes out = 0
Complete description is critical to get correct results or desired results
CE3. A system to do 1 bit of binary addition. It has three inputs (the 2 bits to be
added plus the carry from the next lower order bit) and produces two outputs, a sum
bit and a carry to the next higher order position.
This problem was done in Chapter 1 with the illustration of a full adder.
CE5. A system with nine inputs, representing two 4-bit binary numbers and a carry
input, and one 5-bit output, representing the sum. (Each input number can range
from 0 to 15; the input can range from 0 to 31.)
This problem would require 512 rows using the techniques we have so far.
Later it will be illustrated with other processes.
CE4. A system that has as its input the code for a decimal digit, and produces as its
output the signals to drive a seven-segment display, such as those on most digital
watches and numeric displays (more later).
Inputs are a code for the decimal digit. W, X, Y, Z
Outputs are 7 lines to light 7 leds. A common provides the return path.
Digits 6, 7, & 9 have alternate ways to display.
Table 2.6 A truth table for the seven-segment display driver.
Digit
0
I
2
3
4
5
6
7
8
9
W
0
0
0
0
0
0
0
0
1
1
X
0
0
0
0
1
1
1
1
0
0
Y
0
0
1
1
0
0
1
1
0
0
Z
0
1
0
1
0
1
0
1
0
1
a
1
0
1
1
0
1
X
1
1
1
b
1
1
1
1
1
0
0
1
1
1
c
1
1
0
1
1
1
1
1
1
1
d
1
0
1
1
0
1
1
0
1
X
e
1
0
1
0
0
0
1
0
1
0
f
1
0
0
0
1
1
1
X
1
1
g
0
0
1
1
I
1
1
0
1
1
-
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
This is 8421 code.
1 indicates the segment is lit.
0 is off, X is don’t care.
Note DC for 6, 7, 9
Note DC for all digits >9
The other inputs can be anything
Switching Algebra
3 & only 3 operators
OR (written as +)
a + b (read a OR b) is 1 if and only if a = 1 or b = 1 or both.
AND (written as ·, * , or simply two variables catenated)
a · b = ab (read a AND b) is 1 if and only if a = 1 and b = 1.
NOT (written´)
a´ (read NOT a) is 1 if and only if a = 0.
The complement (not) is not distributive
new
Gate: A symbol for an operation. It has multiple inputs and one output.
Equations are simply mathematical symbols or shortcuts to illustrate relationships.
Diagrams are another way of representing the same information.
Properties ( Inside cover)
Associative illustration using gate symbols for operators
Associative property states all three symbols have same output
a (b c) = (a b) c = a b c
Manipulation of Algebra (binary / switching)
Definitions for AND
A literal is the appearance of a variable or its complement.
A product term is one or more literals connected by AND operators.
A standard product term, also minterm is a product term that includes each
variable of the problem, either uncomplemented or complemented.
A sum of products expression (often abbreviated SOP) is one or more product
terms connected by OR operators.
A canonical sum or sum of standard product terms is just a sum of products
expression where all of the terms are standard product terms.
a (b c) = (a b) c = a b c
a b + a’ b’
standard products
canonical sum
A minimum sum of products expression is one of those SOP expressions for a
function that has the fewest number of product terms.
If there is more than one expression with the fewest number of terms, then
minimum is defined as one or more of those expressions with the fewest number
of literals.
(1) x´yz´ + x´yz + xy´z´ + xy´z + xyz
5 terms, 15 literals
(2) x´y + xy´ + xyz
3 terms, 7 literals
(3) x´y + xy´ + xz
3 terms, 6 literals
(4) x´y + xy´ + yz
3 terms, 6 literals
Manipulation of Algebra (binary / switching)
Definitions for OR
A sum term is one or more literals connected by OR operators.
A standard sum term, also called a maxterm, is a sum term that includes each
variable of the problem, either uncomplemented
or complemented.
A product of sums expression (POS) is one or more sum terms connected by AND
operators.
A canonical product or product of standard sum terms is just a product of sums
expression where all of the terms are standard sum terms.
SOP: x´y + xy´ + xyz
POS: (x + y´)(x´ + y)(x´ + z´)
Both: x´ + y + z or xyz´
Neither: x(w´ + yz) or z´ + wx´y + v(xz + w´)
Representation of POS
Equation form: output = product of input + product of inputs
Diagram form: input – product – sum = output
F = x’y + xy’ + xz
Devices and software can use different representations of logic levels.
Binary has only 0 & 1. These can be complemented to 1 & 0. (Duh)
In an electrical circuit 0 volts is considered as logic 0
5 (or some other value) volts is considered as logic 1
Either 0 or 1 can be interpreted as active.
Positive logic is conventional.
Negative logic is the complement and is easier to physically build.
Complement function: leave a & b, complement only F.
Demorgan’s Theorem
F=a+b
F ‘= (a + b)’ = a’b’
Negative Logic is different: complement every term in the table.
From truth table to algebraic expression
Each grouping is the same way of saying the info in the truth table
f is 1
if a = 0 AND b = 1 OR
if a = 1 AND b = 0 OR
if a = 1 AND b = 1
f is 1
if a´ = 1 AND b = 1 OR
if a = 1 AND b´ = 1 OR
if a = 1 AND b = 1
f is 1
if a´b = 1 OR if ab´ = 1 OR if ab = 1
f = a´b + ab´ + ab
Minterms
Given 3 inputs
How many states (rows) result? 2#inputs
Minterm is a product term that includes each variable of the problem,
either uncomplemented or complemented.
Each combination of inputs (on a row) has an equivalent decimal number
Suppose the function (output) was true for
number 1,2,3,4,5.
Then,
F = Σ (1,2,3,4,5)
F = A’B’C + A’BC’ + A’BC + AB’C’ + AB’C
F’ = Σ (0,6,7)
F = (F’)’ = maxterms. Use Demorgan
How many different functions can come from two variables?
N variable = 2n rows
Number of functions = 2 rows
A NAND is an AND invert.
It is also an invert OR
A NOR is an OR invert.
It is also an invert AND
So, two NAND gates can represent OR, AND, NOT
So, two NOR gates can represent OR, AND, NOT
new
A NAND can be used to represent a OR, AND, or NOT by using combinations.
F = x’y + xy’ + xz
For the AND use a NAND then invert it.
For the OR invert it then use a NAND.
A NAND – NAND logically is null.
(a’)’ = a
Exclusive OR: one or the other, but not both
f = a’b + ab’
f = Σ(1,2)
A
B
f
m
0
0
0
0
0
1
1
1
1
0
1
2
1
1
0
3
CONCENSUS
For any two product terms where exactly one variable appears uncomplemented in
one and complemented in the other,
the consensus is defined as the product of the remaining literals.
If no such variable exists or if more than one such variable exists, then the
consensus us undefined.
If we write one term as at1 and the second as a´t2 (where t1 and t2 represent
product terms), then, if the consensus is defined.
at1 ¢ a´t2 = t1t2
P13a. at1 + a´t2 + t1t2 = at1 + a´t2
P13b. (a + t1)(a + t2)(t1 + t2)= (a + t1)(a + t2)
The consensus theorem allows you to remove the consensus terms (t1t2)
Not the two terms that formed the consensus (at1 + a’t2)
Consider a function with five literal inputs
G = DE´ + A´B´C’ + CD´E + ABC´E
Implement the function using two-input NAND gates.
We could factor.
G = C´ (A´B´ + ABE) + DE´ + CD´E
G = C´ (B´ + E)(B + A´) + DE´ + CD´E
G = (C´ + D´ E)[C + (B´ + AE)(B + A´)] + DE´
Remember NANE = AND invert = invert OR