Upload
amit-singh
View
48
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Boolean Algebra
Citation preview
4–2
Boolean Algebra
•Boolean algebra provides the operations and the rules for
working with the set {0, 1}.
•These are the rules that underlie electronic circuits, and the
methods we will discuss are fundamental to VLSI design.
•We are going to focus on three operations:
• Boolean complementation,
• Boolean sum, and
• Boolean product
4–3
Boolean Operations
•The complement is denoted by a bar (on the slides, we will use a minus sign). It is defined by
•-0 = 1 and -1 = 0.
•The Boolean sum, denoted by + or by OR, has the following values:
•1 + 1 = 1, 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0
•The Boolean product, denoted by or by AND, has the following values:
•1 1 = 1, 1 0 = 0, 0 1 = 0, 0 0 = 0
4–4
Boolean Functions and Expressions
•Definition: Let B = {0, 1}. The variable x is called a Boolean
variable if it assumes values only from B.
•A function from Bn, the set {(x1, x2, …, xn) |xiB,
1 i n}, to B is called a Boolean function of degree n.
•Boolean functions can be represented using expressions
made up from the variables and Boolean operations.
4–5
Boolean Functions and Expressions
•The Boolean expressions in the variables x1, x2, …, xn are
defined recursively as follows:
• 0, 1, x1, x2, …, xn are Boolean expressions.
• If E1 and E2 are Boolean expressions, then (-E1),
(E1E2), and (E1 + E2) are Boolean expressions.
•Each Boolean expression represents a Boolean function. The
values of this function are obtained by substituting 0 and 1 for
the variables in the expression.
4–6
Boolean Functions and Expressions
•For example, we can create Boolean expression in the
variables x, y, and z using the “building blocks”
0, 1, x, y, and z, and the construction rules:
•Since x and y are Boolean expressions, so is xy.
•Since z is a Boolean expression, so is (-z).
•Since xy and (-z) are expressions, so is xy + (-z).
•… and so on…
4–7
Boolean Functions and Expressions
•Example: Give a Boolean expression for the Boolean function
F(x, y) as defined by the following table:
x y F(x, y)
0 0 0
0 1 1
1 0 0
1 1 0
•Possible solution: F(x, y) = (-x)y
4–8
Boolean Functions and Expressions
•Another Example: •Possible solution I:
•F(x, y, z) = -(xz + y)
•0
•0
•1
•1
•F(x, y, z)
•1
•0
•1
•0
•z
•0•0
•1•0
•1•0
•0•0
•y•x
•0
•0
•0
•1
•1
•0
•1
•0
•1•1
•1•1
•0•1
•0•1
•Possible solution II:
•F(x, y, z) = (-(xz))(-y)
4–9
Boolean Functions and Expressions
•There is a simple method for deriving a Boolean expression
for a function that is defined by a table. This method is based
on minterms.
•Definition: A literal is a Boolean variable or its complement. A
minterm of the Boolean variables x1, x2, …, xn is a Boolean
product y1y2…yn, where yi = xi or yi = -xi.
•Hence, a minterm is a product of n literals, with one literal for
each variable.
4–10
Boolean Functions and Expressions
•Consider F(x,y,z) again: •F(x, y, z) = 1 if and only if:
•x = y = z = 0 or
•x = y = 0, z = 1 or
•x = 1, y = z = 0
•Therefore,
•F(x, y, z) =
(-x)(-y)(-z) +
(-x)(-y)z +
x(-y)(-z)
•0
•0
•1
•1
•F(x, y, z)
•1
•0
•1
•0
•z
•0•0
•1•0
•1•0
•0•0
•y•x
•0
•0
•0
•1
•1
•0
•1
•0
•1•1
•1•1
•0•1
•0•1
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–16
• 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
Truth Table
4–17
Gates
• Let’s examine the processing of the following six types of gates
– NOT
– AND
– OR
– XOR
– NAND
– NOR
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
Boolean Functions and Expressions
•Question: How many different Boolean functions of degree 1
are there?
•Solution: There are four of them, F1, F2, F3, and F4:
x F1 F2 F3 F4
0 0 0 1 1
1 0 1 0 1
4–24
Boolean Functions and Expressions
•Question: How many different Boolean functions of degree 2
are there?
•Solution: There are 16 of them, F1, F2, …, F16:
•1
•0
•0
•0
•F2
•0
•0
•0
•0
•F1
•0•1•0
•1•0•1
•0•1•1
•0•0•0
•F3•y•x
•1
•1
•1
•0
•F8
•0
•1
•1
•0
•F7
•0
•0
•0
•1
•F9
•0
•0
•1
•0
•F5
•1
•1
•0
•0
•F4
•1
•0
•1
•0
•F6
•0
•1
•0
•1
•F1
1
•1
•0
•0
•1
•F1
0
•0
•1
•1
•1
•F1
2
•1
•0
•1
•1
•F1
4
•0
•0
•1
•1
•F1
3
•1
•1
•0
•1
•F1
5
•1
•1
•1
•1
•F1
6
4–25
Boolean Functions and Expressions
•Question: How many different Boolean functions of degree n
are there?
•Solution:
•There are 2n different n-tuples of 0s and 1s.
•A Boolean function is an assignment of 0 or 1 to each of these
2n different n-tuples.
•Therefore, there are 22ndifferent Boolean functions.
4–26
Duality
•There are useful identities of Boolean expressions that can
help us to transform an expression A into an equivalent
expression B
•We can derive additional identities with the help of the dual of
a Boolean expression.
•The dual of a Boolean expression is obtained by
interchanging Boolean sums and Boolean products and
interchanging 0s and 1s.
4–27
Duality
•Examples:
•The dual of x(y + z) is •x + yz.
•The dual of -x1 + (-y + z) is •(-x + 0)((-y)z).
•The dual of a Boolean function F represented by a Boolean
expression is the function represented by the dual of this
expression.
•This dual function, denoted by Fd, does not depend on the
particular Boolean expression used to represent F.
4–28
Duality
•Therefore, an identity between functions represented by Boolean expressions remains valid when the duals of both sides of the identity are taken.
•We can use this fact, called the duality principle, to derive new identities.
•For example, consider the absorption law x(x + y) = x.
•By taking the duals of both sides of this identity, we obtain the equation x + xy = x, which is also an identity (and also called an absorption law).
4–31
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–33
Logic Gates
•Example: How can we build a circuit that computes the
function xy + (-x)y ?
xy + (-x)y
x
y
xy
x -x
y
(-x)y
4–36
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
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–42
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–43
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
1 1 0 0
1 1 1 1
Y = A . B . C
4–44
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–45
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–46
Combinational Circuits
• Gates are combined into circuits by using the
output of one gate as the input for another
Page 99
AND
AND
OR
4–47
Combinational Circuits
• 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)
Page 100
4–48
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–49
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–50
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–51
Adders
• At the digital logic level, addition is
performed in binary
• Addition operations are carried out
by special circuits called, appropriately,
adders
4–52
Adders
• The result of adding two binary digits could 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.
(XOR) (AND)
4–53
Adders
• Circuit diagram
representing
a half adder
• Two Boolean
expressions:
sum = A B
carry = ABPage 103
4–54
Adders
• A circuit called a full adder takes the
carry-in value into account
Figure 4.10 A full adder
4–55
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–57
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:
NAND and NOR
4–58
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–62
Boolean Functions and Expressions
•Definition: The Boolean functions F and G of n variables are
equal if and only if F(b1, b2, …, bn) = G(b1, b2, …, bn) whenever
b1, b2, …, bn belong to B.
•Two different Boolean expressions that represent the same
function are called equivalent.
•For example, the Boolean expressions xy, xy + 0, and xy1 are
equivalent.
4–63
Boolean Functions and Expressions
•The complement of the Boolean function F is the function –F,
where –F(b1, b2, …, bn) =
-(F(b1, b2, …, bn)).
•Let F and G be Boolean functions of degree n. The Boolean
sum F+G and Boolean product FG are then defined by
•(F + G)(b1, b2, …, bn) = F(b1, b2, …, bn) + G(b1, b2, …, bn)
•(FG)(b1, b2, …, bn) = F(b1, b2, …, bn) G(b1, b2, …, bn)