Lecture #22 Truth tables and gates This week: Circuits for digital devices 10/22/2004

advertisement
Lecture #22 Truth tables and gates
This week: Circuits for digital
devices
10/22/2004
EE 42 fall 2004 lecture 22
1
Topics
Today:
• Combinatorial logic
• Truth tables
• And, Or, and Not gates
10/22/2004
EE 42 fall 2004 lecture 22
2
Combinatorial logic
Combinatorial logic describes a digital circuit
where there are a set of digital inputs, say N
wires each one (1) or zero (0)
( example:1=true, 2 volts or 0=false, zero volts)
And M digital outputs, M wires each carrying 1 or
0, which are an instantaneous function of the
inputs
So in combinatorial logic, there is no sequence of
events, internal memory or flags, just a straight
inputoutput
10/22/2004
EE 42 fall 2004 lecture 22
3
Truth Table
• A truth table is a general way of describing
combinatorial logic, by just listing all of the
possible states of the input, and the value of
each output which is the result. Lets look at a
truth table for “exclusive or” (XOR)
Every possible
combination
of inputs
10/22/2004
A
0
0
1
1
EE 42 fall 2004 lecture 22
B
0
1
0
1
output
0
1
1
0
4
In principle, every problem which could be described with
discrete inputs (integers, fractions, flags programs!)
could be solved with a single combinatorial logic
machine.
This is very fast once built.
But it practice, the combinatorial logic would get too
complex, for example the truth table would have 2n rows,
where N is the number of Boolean variables needed to
take into account all possible inputs.
So for complex problems, we use combinatorial logic
circuits as steps from state to state of a machine (a
“finite state machine”, for example a computer)
10/22/2004
EE 42 fall 2004 lecture 22
5
Translating mathematics to
machines
• So once again, we are in the position of
translating mathematics into a machine
which can execute the formulas, but this
time as digital, Boolean expressions rather
than as continuous functions of time and
voltage.
10/22/2004
EE 42 fall 2004 lecture 22
6
Logical expressions
• Fortunately, as Boole pointed out, the
language of facts which are true or false
are natural to us as a species, and so we
can deal with much of Boolean logic
intuitively.
• However, more complex logic expressions
are easier if we have a notation, symbols
and rules for manipulation.
10/22/2004
EE 42 fall 2004 lecture 22
7
Truth tables with 2 inputs
• With just two Boolean inputs, there are
four possible combinations, so a truth
table for two inputs would have four rows.
• 00, 01, 10, 11
• Each of the rows of a possible truth table
can have a different Boolean output, so
there are 16 different possible truth tables
for an expression with two inputs, and they
are shown on the next slide
10/22/2004
EE 42 fall 2004 lecture 22
8
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
NOR
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
XOR
NAND
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
AND
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
OR
9
And, Or, and Not are sufficient
• As you see from the next slide, with only
the functions AND OR and NOT, all of the
possible expressions for two inputs can be
formed.
• Any expression of any number of inputs
can be formed using just AND OR, and
NOT.
• NOR by itself is also complete, but is not
as intuitive to use
10/22/2004
EE 42 fall 2004 lecture 22
10
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
1
0
False
Not (A or B)
B and (not A)
Not A
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
A and (not B)
Not B
(A or B) and (not (A and B))
Not (A and B)
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
AND
Not (A OR B)
B
(not A) or (A and B)
A
B
out
A
B
out
A
B
out
A
B
out
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
A
A OR (Not B)
OR
True
11
NOR is sufficient by itself
• NOT A = A NOR A
• A AND B = (Not A) NOR (Not B)
• A OR B= Not (A NOR B)
• So if you can build a NOR circuit, these
can be combined to form any Boolean
logic expression
10/22/2004
EE 42 fall 2004 lecture 22
12
Logical Expressions
Standard logic notation :
AND:
“dot”
OR : “+ sign”
NOT:
Examples: X = A · B ; Y = A · B · C
Examples: W = A+B ; Z = A+B+C
“bar over symbol for complement” Example: Z = A
With these basic operations we can construct any logical
expression.
Order of operation: NOT, AND, OR (note that negation of an
expression is performed after the expression is evaluated, so
there is an implied parenthesis, e.g. A  B means (A  B) .
10/22/2004
EE 42 fall 2004 lecture 22
13
Logic Function Example
•
Boolean Expression:
H = (A · B · C) + T
This can be read H=1 if (A and B and C are 1) or T is 1, or
H is true if all of A,B,and C are true, or T is true, or
The voltage at node H will be high if the input voltages at nodes A, B and C
are high or the input voltage at node T is high
10/22/2004
EE 42 fall 2004 lecture 22
14
Logic Function Example 2
You wish to express under which conditions your burglar alarm goes off (B=1):
If the “Alarm Test” button is pressed (A=1)
OR if the Alarm is Set (S=1) AND { the door is opened (D=1) OR the
trunk is opened (T=1)}
Boolean Expression:
B = A + S(D + T )
This can be read B=1 if A = 1 or S=1 AND (D OR T =1), i.e.
B=1 if {A = 1} or {S=1 AND (D OR T =1)}
or
B is true IF {A is true} OR {S is true AND D OR T is true}
or
The voltage at node H will be high if {the input voltage at node A is high} OR
{the input voltage at S is high and the voltages at D and T are high}
10/22/2004
EE 42 fall 2004 lecture 22
15
Example “Truth Table”
Truth Table for Logic Expression
10/22/2004
A
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
B
C
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
EE 42 fall 2004 lecture 22
1
1
H = (A · B · C) + T
T
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
H
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
16
Evaluation of Logical Expressions with
“Truth Tables”
The Truth Table completely describes a logic expression
The Truth Table is the fundamental meaning of a logic
expression.
Two logic expressions are equal if their truth tables are the
same
10/22/2004
EE 42 fall 2004 lecture 22
17
Some Important Logical Functions
• “AND”
A B
• “OR”
AB
• “INVERT” or “NOT”
not A (or A )
• “not AND” = NAND
AB
• “not OR” = NOR
A B
• exclusive OR = XOR
A  B (only1 when A, B differ)
i.e., A  B except A  B
AB (only0 whenAB1)
10/22/2004
(or A  B C)
(or A  B  C  D)
(only 0 when A and B 1)
EE 42 fall 2004 lecture 22
(only 1 when A  B  0)
18
Logic Gates
These are circuits that accomplish a given logic function such as “OR”. We will
shortly see how such circuits are constructed. Each of the basic logic gates has a
unique symbol, and there are several additional logic gates that are regarded as
important enough to have their own symbol. The set is: AND, OR, NOT, NAND,
NOR, and EXCLUSIVE OR.
A
A
AND
C=A·B
B
B
A
B
A
C=A+B B
OR
A
A
NOT
10/22/2004
A
B
NAND
C = A B
NOR
C = A B
C  AB
EXCLUSIVE OR
EE 42 fall 2004 lecture 22
19
Logic Circuits
With a combination of logic gates we can construct any logic function. In
these two examples we will find the truth table for the circuit.
A
X
C
B
It is helpful to list the intermediate
logic values (at the input to the OR
gate). Let’s call them X and Y.
Y
Now we complete the truth tables for X and Y, and from that for C. (Note
that X  A  B and Y  B A
and finally C = X + Y)
A
B
X
Y
C
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
10/22/2004
EE 42 fall 2004 lecture 22
Interestingly, this is the
same truth table as the
EXCLUSIVE OR
20
Download