Title: Nodal analysis
1Lecture 22 Truth tables and gates
This week Circuits for digital devices
2Topics
- Today
- Combinatorial logic
- Truth tables
- And, Or, and Not gates
3Combinatorial logic
- Combinatorial logic describes a digital circuit
where there are a set of digital inputs, say N
wires each one (1) or zero (0) - ( example1true, 2 volts or 0false, 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
4Truth 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)
A B output
0 0 0
0 1 1
1 0 1
1 1 0
Every possible combination of inputs
5- 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)
6Translating 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.
7Logical 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.
8Truth 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
9A B out
0 0 0
0 1 0
1 0 0
1 1 0
A B out
0 0 1
0 1 0
1 0 0
1 1 0
A B out
0 0 0
0 1 1
1 0 0
1 1 0
A B out
0 0 1
0 1 1
1 0 0
1 1 0
NOR
A B out
0 0 0
0 1 0
1 0 1
1 1 0
A B out
0 0 1
0 1 0
1 0 1
1 1 0
A B out
0 0 0
0 1 1
1 0 1
1 1 0
A B out
0 0 1
0 1 1
1 0 1
1 1 0
XOR
NAND
A B out
0 0 0
0 1 0
1 0 0
1 1 1
A B out
0 0 1
0 1 0
1 0 0
1 1 1
A B out
0 0 0
0 1 1
1 0 0
1 1 1
A B out
0 0 1
0 1 1
1 0 0
1 1 1
AND
A B out
0 0 0
0 1 0
1 0 1
1 1 1
A B out
0 0 1
0 1 0
1 0 1
1 1 1
A B out
0 0 0
0 1 1
1 0 1
1 1 1
A B out
0 0 1
0 1 1
1 0 1
1 1 1
OR
10And, 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
11A B out
0 0 0
0 1 0
1 0 0
1 1 0
A B out
0 0 1
0 1 0
1 0 0
1 1 0
A B out
0 0 0
0 1 1
1 0 0
1 1 0
A B out
0 0 1
0 1 1
1 0 0
1 1 0
Not (A or B)
False
B and (not A)
Not A
A B out
0 0 0
0 1 0
1 0 1
1 1 0
A B out
0 0 1
0 1 0
1 0 1
1 1 0
A B out
0 0 0
0 1 1
1 0 1
1 1 0
A B out
0 0 1
0 1 1
1 0 1
1 1 0
(A or B) and (not (A and B))
Not (A and B)
A and (not B)
Not B
A B out
0 0 0
0 1 0
1 0 0
1 1 1
A B out
0 0 1
0 1 0
1 0 0
1 1 1
A B out
0 0 0
0 1 1
1 0 0
1 1 1
A B out
0 0 1
0 1 1
1 0 0
1 1 1
AND
Not (A OR B)
B
(not A) or (A and B)
A B out
0 0 0
0 1 0
1 0 1
1 1 1
A B out
0 0 1
0 1 0
1 0 1
1 1 1
A B out
0 0 0
0 1 1
1 0 1
1 1 1
A B out
0 0 1
0 1 1
1 0 1
1 1 1
OR
A
A OR (Not B)
True
12NOR 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
13Logical Expressions
Examples X A B Y A B C
Examples W AB Z ABC
14Logic Function Example
- Boolean Expression H (A B C) T
This can be read H1 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
15Logic Function Example 2
You wish to express under which conditions your
burglar alarm goes off (B1) If the Alarm Test
button is pressed (A1) OR if the Alarm is Set
(S1) AND the door is opened (D1) OR the
trunk is opened (T1)
Boolean Expression B A S(D T )
This can be read B1 if A 1 or S1 AND (D OR
T 1), i.e. B1 if A 1 or S1 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
16Example Truth Table
Truth Table for Logic Expression
H (A B C) T
0 0
0 1 1
1 1 1
17Evaluation 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
18Some Important Logical Functions
- AND
- OR
- INVERT or NOT
- not AND NAND
- not OR NOR
- exclusive OR XOR
19Logic 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
NAND
C
B
C
A
B
EXCLUSIVE OR
20Logic 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.
It is helpful to list the intermediate logic
values (at the input to the OR gate). Lets call
them X and 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
Interestingly, this is the same truth table as
the EXCLUSIVE OR