Download Logical - Department of Computer Science

Document related concepts

Buck converter wikipedia , lookup

Opto-isolator wikipedia , lookup

Flip-flop (electronics) wikipedia , lookup

TRIAC wikipedia , lookup

Transcript
Lecture 3. Boolean
2x
Algebra, Logic
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
4–2
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
4–3
4–4
4–5
4–6
<B; +, *,’, 0,1> Algebraic System
Binary operations: +,*
Unary operation: ‘
4–7
4–8
4–9
4–10
jasonm:
Redo table
(p101)
Properties of Boolean Algebra
Page 101
4–11
4–12
4–13
Computers
• There are three different, but equally
powerful, notational methods
for describing the behavior of gates
and circuits
– Boolean expressions
– logic diagrams
– truth tables
4–14
Boolean algebra
• Boolean algebra: expressions in this
algebraic notation are an elegant and
powerful way to demonstrate the activity of
electrical circuits
4–15
4–16
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
4–17
Gates
• Let’s examine the processing of the
following
six types of gates
– NOT
– AND
– OR
– XOR
– NAND
– NOR
4–18
4–19
4–20
NOT Gate
• A NOT gate accepts one input value
and produces one output value
Figure 4.1 Various representations of a NOT gate
4–21
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
4–22
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
4–23
4–24
4–25
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
4–26
4–27
4–28
4–29
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
4–30
XOR Gate
Figure 4.4 Various representations of an XOR gate
4–31
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
4–33
4–34
4–35
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
4–36
3-Input And gate
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Y
0
0
0
0
0
0
0
1
Y=A. B. C
4–37
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
4–38
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
4–39
Combinational Circuits
• Gates are combined into circuits by using the
output of one gate as the input for another
AND
OR
AND
Page 99
4–40
jasonm:
Redo to get
white space
around table
(p100)
Combinational Circuits
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)
4–41
jasonm:
Redo table to
get white
space (p101)
Now let’s go the other way; let’s take a
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
4–42
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
4–43
Now let’s go the other way; let’s 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
4–44
Adders
• At the digital logic level, addition is
performed in binary
• Addition operations are carried out
by special circuits called, appropriately,
adders
4–45
Adders
• The result of adding two
binary digits could
produce a carry value
(XOR) (AND)
• 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.
4–46
Adders
• Circuit diagram
representing
a half adder
• Two Boolean
expressions:
sum = A  B
carry = AB
Page 103
4–47
Adders
• A circuit called a full adder takes the
carry-in value into account
Figure 4.10 A full adder
4–48
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).
4–49
How to use
NOR gate to build a NOT gate?
Truth Table
A B C Q
B
A
Q
C
0 0 0 1
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
4–50
How to use
NOR gates to build an OR gate?
Truth Table
NOT
NOR
A
B
C
D
Q
E
A
0
0
1
1
B
0
1
0
1
C
1
0
0
0
D
1
0
0
0
E
1
0
0
0
Q
0
1
1
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
4–51
How to use
A
NOR gates to build an AND gate?
Truth Table
C
Q
B
D
A
0
0
1
1
B
0
1
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
C
1
1
0
0
D
1
0
1
0
Q
0
0
0
1
4–52
How to use
A
B
NOR gates to build a NAND gate?
C
E
D
Hint 1 : Use 4 NOR gates
Hint 2 : Use 3 NOR gates
to build a NAND gate
Hint 3 :
(previous lesson)
Use the 4th NOR
Truth Table
Q
A
0
0
1
1
B
0
1
0
1
C
1
1
0
0
D
1
0
1
0
E
0
0
0
1
Q
1
1
1
0
gate to build a NOT gate
Hint 4 : Insert “NOT” gate after “NAND” gate
Hint 5 : NOT-NAND = AND
4–53
How to use
NAND gates to build a NOT gate?
Truth Table
B
Q
A
C
A
B
C
Q
0
0
0
1
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
4–54
How to use
NAND gates to build an AND gate?
NOT
NAND
A
B
Truth Table
C
Q
A
B
C
Q
0
0
1
0
0
1
1
0
1
0
1
0
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
4–55
How to use
A
B
NAND gates to build an OR gate?
Truth Table
C
Q
D
A
B
C
D
Q
0
0
1
1
0
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
4–56
How to use
A
B
C
D
NAND gates to build a NOR gate?
Truth Table
E
Q
A
B
C
D
E
Q
0
0
1
1
0
1
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
4–57
4–58
4–59
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:
4–60
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.
4–61
4–62
4–63
Practice Assignment (check
the result)
4–64