You are on page 1of 64

Lecture 3.

Boolean
Algebra, Logic
2x Gates

Prof. Sin-Min Lee


Department of Computer
Science
Chapter Goals

Boolean Algebra
Identify the basic gates and describe the
behavior of each
Combine basic gates into circuits
Describe the behavior of a gate or circuit using
Boolean expressions, truth tables, and logic
diagrams
42
What is a gate?

Combination of transistors that perform


binary logic
So called because one logic state enables
or gates another logic state
For each gate, the symbol, the truth table,
and the formula are shown

43
44
45
46
<B; +, *,, 0,1> Algebraic System
Binary operations: +,*
Unary operation:

47
48
49
410
jasonm:
Redo table
(p101) Properties of Boolean Algebra

Page 101

411
412
413
Computers

There are three different, but equally


powerful, notational methods
for describing the behavior of gates
and circuits
Boolean expressions
logic diagrams
truth tables

414
Boolean algebra

Boolean algebra: expressions in this


algebraic notation are an elegant and
powerful way to demonstrate the activity of
electrical circuits

415
416
Truth Table

Logic diagram: a graphical


representation of a circuit
Each type of gate is represented by a specific
graphical symbol

Truth table: defines the function of a gate


by listing all possible input combinations
that the gate could encounter, and the
corresponding output

417
Gates

Lets examine the processing of the


following
six types of gates
NOT
AND
OR
XOR
NAND
NOR

418
419
420
NOT Gate

A NOT gate accepts one input value


and produces one output value

Figure 4.1 Various representations of a NOT gate

421
NOT Gate

By definition, if the input value for a NOT


gate is 0, the output value is 1, and if the
input value is 1, the output is 0
A NOT gate is sometimes referred to as an
inverter because it inverts the input value

422
AND Gate

An AND gate accepts two input signals


If the two input values for an AND gate are
both 1, the output is 1; otherwise, the
output is 0

Figure 4.2 Various representations of an AND gate 423


424
425
OR Gate

If the two input values are both 0, the


output value is 0; otherwise, the output is 1

Figure 4.3 Various representations of a OR gate


426
427
428
429
XOR Gate

XOR, or exclusive OR, gate


An XOR gate produces 0 if its two inputs are
the same, and a 1 otherwise
Note the difference between the XOR gate
and the OR gate; they differ only in one
input situation
When both input signals are 1, the OR gate
produces a 1 and the XOR produces a 0

430
XOR Gate

Figure 4.4 Various representations of an XOR gate

431
NAND and NOR Gates

The NAND and NOR gates are essentially the


opposite of the AND and OR gates, respectively

Figure 4.5 Various representations


of a NAND gate

Figure 4.6 Various representations


of a NOR gate
433
434
435
Gates with More Inputs

Gates can be designed to accept three or more


input values
A three-input AND gate, for example, produces
an output of 1 only if all input values are 1

Figure 4.7 Various representations of a three-input AND gate 436


3-Input And gate
A B C Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0 Y=A. B. C
1 1 0 0
1 1 1 1

437
Constructing Gates

A transistor is a device that acts, depending on


the voltage level of an input signal, either as a
wire that conducts electricity or as a resistor that
blocks the flow of electricity
A transistor has no moving parts, yet acts like
a switch
It is made of a semiconductor material, which is
neither a particularly good conductor of electricity,
such as copper, nor a particularly good insulator, such
as rubber

438
Circuits

Two general categories


In a combinational circuit, the input values explicitly
determine the output
In a sequential circuit, the output is a function of the
input values as well as the existing state of the circuit

As with gates, we can describe the operations


of entire circuits using three notations
Boolean expressions
logic diagrams
truth tables
439
Combinational Circuits

Gates are combined into circuits by using the


output of one gate as the input for another

AND

OR

AND

Page 99 440
jasonm:
Redo to get
white space Combinational Circuits
around table
(p100)

Page 100

Because there are three inputs to this circuit, eight rows


are required to describe all possible input combinations
This same circuit using Boolean algebra:
(AB + AC) 441
jasonm:
Redo table to Now lets go the other way; lets take a
get white
space (p101)
Boolean expression and draw

Consider the following Boolean expression: A(B + C)

Page 100

Page 101

Now compare the final result column in this truth table to


the truth table for the previous example
They are identical
442
Simple design problem

A calculation has been done and its results


are stored in a 3-bit number
Check that the result is negative by anding
the result with the binary mask 100
Hint: a mask is a value that is anded with
a value and leaves only the important bit

443
Now lets go the other way; lets take a
Boolean expression and draw

We have therefore just demonstrated circuit


equivalence
That is, both circuits produce the exact same output
for each input value combination

Boolean algebra allows us to apply provable


mathematical principles to help us design
logical circuits

444
Adders

At the digital logic level, addition is


performed in binary
Addition operations are carried out
by special circuits called, appropriately,
adders

445
Adders

The result of adding two


binary digits could (XOR) (AND)
produce a carry value
Recall that 1 + 1 = 10
in base two
A circuit that computes
the sum of two bits
and produces the
correct carry bit is
called a half adder
Notice the Sum & Carry
are NEVER both 1.

446
Adders

Circuit diagram
representing
a half adder
Two Boolean
expressions:

sum = A B
carry = AB
Page 103

447
Adders

A circuit called a full adder takes the


carry-in value into account

Figure 4.10 A full adder 448


Adding Many Bits

To add 2 8-bit values, we can duplicate a


full-adder circuit 8 times. The carry-out
from one place value is used as the carry
in for the next place value. The value of
the carry-in for the rightmost position is
assumed to be zero, and the carry-out of
the leftmost bit position is discarded
(potentially creating an overflow error).

449
How to use NOR gate to build a NOT gate?
Truth Table

B A B C Q
A Q 0 0 0 1
C 1 1 1 0
Hint!
Link inputs B & C together (to a same source).
When A = 0, B = C = A = 0
When A = 1, B = C = A = 1 450
How to use NOR gates to build an OR gate?
Truth Table
A B C D E Q
NOR NOT 0 0 1 1 1 0
A D 0 1 0 0 0 1
C
Q 1 0 0 0 0 1
B E
1 1 0 0 0 1
Hint 1 : Use 2 NOR gates
Hint 2 : From a NOR gate, build a NOT gate
Hint 3 : Put this NOT gate after a NOR gate
451
How to use NOR gates to build an AND gate?
Truth Table
A B C D Q
A
C 0 0 1 1 0
Q
0 1 1 0 0
D
B 1 0 0 1 0
1 1 0 0 1
Hint 1 : Use 3 NOR gates
Hint 2 : From 2 NOR gates, build 2 NOT gates
Hint 3 : Each NOT gate
is an input to the 3rd NOR gate 452
How to use NOR gates to build a NAND gate?
A Truth Table
C E
Q A B C D E Q
D 0 0 1 1 0 1
B
Hint 1 : Use 4 NOR gates 0 1 1 0 0 1
Hint 2 : Use 3 NOR gates 1 0 0 1 0 1
to build a NAND gate
(previous lesson)
1 1 0 0 1 0
Hint 3 : Use the 4th NOR gate to build a NOT gate
Hint 4 : Insert NOT gate after NAND gate
Hint 5 : NOT-NAND = AND 453
How to use NAND gates to build a NOT gate?
Truth Table
B A B C Q
A Q
0 0 0 1
C
1 1 1 0
Hint!
Link inputs B & C together (to a same source).
When A = 0, B = C = A = 0
When A = 1, B = C = A = 1 454
How to use NAND gates to build an AND gate?
Truth Table
A B C Q
NAND NOT
0 0 1 0
0 1 1 0
A C
Q 1 0 1 0
B 1 1 0 1
Hint 1 : Use 2 NAND gates
Hint 2 : From a NAND gate, build a NOT gate
Hint 3 : Put this NOT gate after a NAND gate
Hint 4 : NOT-NAND = AND 455
How to use NAND gates to build an OR gate?
Truth Table
A C A B C D Q
Q 0 0 1 1 0
B D 0 1 1 0 1
1 0 0 1 1
1 1 0 0 1
Hint 1 : Use 3 NAND gates
Hint 2 : Use 2 NAND gates to build 2 NOT gates
Hint 3 : Put the 3rd NAND gate
after the 2 NOT gates 456
How to use NAND gates to build a NOR gate?
Truth Table
A C E A B C D E Q
Q 0 0 1 1 0 1
B D 0 1 1 0 1 0
1 0 0 1 1 0
1 1 0 0 1 0
Hint 1 : Use 4 NAND gates
Hint 2 : Use 3 NAND gates to build an OR gate
Hint 3 : Use a NOR gate to build a NOT gate
Hint 4 : Put the NOT gate after OR gate 457
458
459
NAND and NOR
as Universal Logic Gates

Any logic circuit


can be built using
only NAND gates,
or only NOR
gates. They are
the only logic
gate needed.
Here are the
NAND
equivalents:

460
NAND and NOR as Universal Logic Gates
(cont)

Here are the


NOR
equivalents:
NAND and
NOR can be
used to reduce
the number of
required gates
in a circuit.
461
462
463
Practice Assignment (check
the result)

464

You might also like