63
Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

Lecture 3. Boolean Algebra, Logic Gates

Prof. Sin-Min Lee

Department of Computer Science

2x

Page 2: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 3: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 4: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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.

Page 5: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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.

Page 6: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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…

Page 7: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 8: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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)

Page 9: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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.

Page 10: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 11: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–11

Page 12: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–12

Page 13: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 14: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–14

Boolean algebra

• Boolean algebra: expressions in this algebraic notation are an elegant and powerful way to demonstrate the activity of electrical circuits

Page 15: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–15

Page 16: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 17: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–17

Gates

• Let’s examine the processing of the following six types of gates– NOT– AND– OR– XOR– NAND– NOR

Page 18: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–18

Page 19: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–19

Page 20: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 21: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 22: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 23: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 24: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

•F11

•1

•0

•0

•1

•F10

•0

•1

•1

•1

•F12

•1

•0

•1

•1

•F14

•0

•0

•1

•1

•F13

•1

•1

•0

•1

•F15

•1

•1

•1

•1

•F16

Page 25: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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 22n different Boolean functions.

Page 26: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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.

Page 27: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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.

Page 28: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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).

Page 29: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–29

Page 30: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–30

Page 31: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 32: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–32

Page 33: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–33

Logic Gates

•Example: How can we build a circuit that computes the function xy + (-x)y ?

xy + (-xy + (-x)yx)y

xx

yy

xyxy

xx -x-x

yy

(-x)y(-x)y

Page 34: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–34

Page 35: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–35

Page 36: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 37: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–37

XOR Gate

Figure 4.4 Various representations of an XOR gate

Page 38: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 39: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–39

Page 40: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–40

Page 41: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–41

Page 42: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 43: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–43

3-Input And gate

A B C Y0 0 0 00 0 1 00 1 0 00 1 1 01 0 0 01 0 1 01 1 0 01 1 1 1

Y = A . B . C

Page 44: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 45: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 46: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 47: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 48: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 49: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 50: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 51: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–51

Adders

• At the digital logic level, addition is performed in binary

• Addition operations are carried out by special circuits called, appropriately, adders

Page 52: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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)

Page 53: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–53

Adders

• Circuit diagram representing a half adder

• Two Boolean expressions:

sum = A Bcarry = AB

Page 103

Page 54: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–54

Adders

• A circuit called a full adder takes the carry-in value into account

Figure 4.10 A full adder

Page 55: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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).

Page 56: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–56

Page 57: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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

Page 58: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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.

Page 59: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–59

Page 60: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–60

Page 61: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

4–61

Practice Assignment (check the result)

Page 62: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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.

Page 63: Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x

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)