Upcoming SlideShare
×

# Boolean algebra

1,072 views

Published on

Published in: Education
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No

Are you sure you want to  Yes  No
• Good job

Are you sure you want to  Yes  No
Views
Total views
1,072
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
50
2
Likes
1
Embeds 0
No embeds

No notes for slide

### Boolean algebra

1. 1. Chapter 11 Boolean Algebra11 BOOLEAN ALGEBRAObjectivesAfter studying this chapter you should• be able to use AND, NOT, OR and NAND gates;• be able to use combinatorial and switching circuits;• understand equivalent circuits;• understand the laws of Boolean algebra;• be able to simplify Boolean expressions;• understand Boolean functions;• be able to minimise circuits;• understand the significance of half and full adder circuits.11.0 IntroductionWhen George Boole (1815-186) developed an algebra for logic,little did he realise that he was forming an algebra that hasbecome ideal for the analysis and design of circuits used incomputers, calculators and a host of devices controlled bymicroelectronics. Booles algebra is physically manifested inelectronic circuits and this chapter sets out to describe thebuilding blocks used in such circuits and the algebra used todescribe the logic of the circuits.11.1 Combinatorial circuitsThe circuits and switching arrangements used in electronics arevery complex but, although this chapter only deals with simple binary digitscircuits, the functioning of all microchip circuits is based on theideas in this chapter. The flow of electrical pulses which bitsrepresent the binary digits 0 and 1 (known as bits) is controlledby combinations of electronic devices. These logic gates act asswitches for the electrical pulses. Special symbols are used torepresent each type of logic gate. 171
2. 2. Chapter 11 Boolean AlgebraNOT gateThe NOT gate is capable of reversing the input pulse. The truthtable for a NOT gate is as follows: a ~a Input Output a ~a This is a NOT gate 0 1 1 0The NOT gate receives an input, either a pulse (1) or no pulse (0)and produces an output as follows : If input a is 1, output is 0; and if input a is 0, output is 1.AND gateThe AND gate receives two inputs a and b, and produces an outputdenoted by a∧ b . The truth table for an AND gate is as follows : Input Output a a b a∧ b a∧b b 0 0 0 This is an AND gate 0 1 0 1 0 0 1 1 1The only way that the output can be 1 is when a AND b are both 1.In other words there needs to be an electrical pulse at a AND bbefore the AND gate will output an electrical pulse.OR gateThe OR gate receives two inputs a and b, and produces an outputdenoted by a∨ b . The truth table for an OR gate is as follows: Input Output a b a∨ b a 0 0 0 a∨b b 0 1 1 This is an OR gate 1 0 1 1 1 1The output will be 1 when a or b or both are 1.172
3. 3. Chapter 11 Boolean AlgebraThese three gates, NOT, AND and OR, can be joined togetherto form combinatorial circuits to represent Booleanexpressions, as explained in the previous chapter.ExampleUse logic gates to represent(a) ~ p∨ q(b) ( x∨ y)∧ ~ xDraw up the truth table for each circuitSolution(a) p q ~p ~ p∨ q 0 0 1 1 ∼p 0 1 1 1 p ~p∨q q 1 0 0 0 1 1 0 1(b) x y x∨y ~x (x ∨ y) ∧ ~x ~x 0 0 0 1 0 (x∨y)∧ ~x 0 1 1 1 1 x (x∨y) y 1 0 1 0 0 1 1 1 0 0Exercise 11AUse logic gates to represent these expressions and Write down the Boolean expression for each of thedraw up the corresponding truth tables. circuits below.1. x∧ ( ~ y∨ x) 4. a b2. a∨ ( ~ b ∧ c) c3. [ a∨ ( ~ b ∨ c)]∧ ~ b 5. p q r 173
4. 4. Chapter 11 Boolean Algebra11.2 When are circuits equivalent?Two circuits are said to be equivalent if each produce the sameoutputs when they receive the same inputs.ExampleAre these two combinatorial circuits equivalent? a a b bSolutionThe truth tables for both circuits will show if they are equivalent : a b ~ ( a∧ b) 0 0 1 0 1 1 a b 1 0 1 1 1 0 a b ~ a∨ ~ b 0 0 1 a 0 1 1 1 0 1 b 1 1 0Work through the values in the truth tables for yourself. Since bothtables give the same results the two circuits are equivalent. Indeedthe two Boolean expressions are equivalent and can be put equal;i.e. ~ ( a∧ b) = ~ a∨ ~ bExercise 11BShow if these combinatorial circuits are equivalent byworking out the Boolean expression and the truth tablefor each circuit.1. a 2. b a b a a b b174
5. 5. Chapter 11 Boolean Algebra3. 4. a a b b c a a b b c11.3 Switching circuitsA network of switches can be used to represent a Booleanexpression and an associated truth table.Generally the switches are used to control the flow of an electricalcurrent but you might find it easier to consider a switching circuit asa series of water pipes with taps or valves at certain points.One of the reasons for using switching circuits rather than logicgates is that designers need to move from a combinatorial circuit(used for working out the logic) towards a design which themanufacturer can use for the construction of the electronic circuits.This diagram shows switches A, B and C which can be open orclosed. If a switch is closed it is shown as a 1 in the following table A Bwhilst 0 shows that the switch is open. The switching table for this Ccircuit is as follows : A B C Circuit output 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1The table shows that there will be an output (i.e. 1) when A AND Bare 1 OR C is 1. This circuit can therefore be represented as (A AND B) OR Cie. (A ∧ B) ∨ CThe circuit just considered is built up of two fundamental circuits:• a series circuit, often called an AND gate, A ∧ B A B 175
6. 6. Chapter 11 Boolean Algebra A• a parallel circuit, often called an OR gate, A ∨ B. BThe next step is to devise a way of representing negation. Thenegation of the truth value 1 is 0 and vice versa, and inswitching circuits the negation of a closed path is an openpath. A ~AThis circuit will always be open whatever the state of A. Inother words the output will always be 0, irrespective of whetherA is 1 or 0. AThis circuit will always be closed whatever the state of A. The ~Aoutput will always be 1 irrespective of whether A is 1 or 0.Example A BRepresent the circuit shown opposite symbolically and give the C ~Aswitching table.SolutionThe symbolic representation can be built up by considering the top line of the circuit (A ∧ B) the top bottom of the circuit (C ∧ ~A).Combining these gives the result (A ∧ B) ∨ (C ∧ ~A)The table is as follows. A B C ~A A ∧B C∧ ~ A ( A ∧ B ) ∨ (C ∧ ~ A ) 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1Activity 1 Make your own circuit Bulb BUsing a battery, some wire, a bulb and some switches, construct Athe following circuit. C ~BA simple switch can be made using two drawing pins and apaper clip which can swivel to close the switch. The pins can be Batterypushed into a piece of corrugated cardboard or polystyrene.176
7. 7. Chapter 11 Boolean AlgebraUsing the usual notation of 1 representing a closed switch and 0representing an open switch, you can set the switches to representeach line of this table: A B C Output 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1Remember that the ~B switch is always in the opposite state tothe B switch.Record the output using 1 if the bulb lights up (i.e. circuit isclosed) and 0 if the bulb fails to light (i.e. circuit is open)Represent the circuit symbolically and draw up another table to seeif you have the same output.Exercise 11CRepresent the following circuits by Booleanexpressions: B Draw switching circuits for these Boolean1. A expressions: D ~D C 3. A ∨ ( ~ B ∧ C ) 4. A ∧ (( ~ B ∧ C ) ∨ ( B∧ ~ C )) A2. D A C B C ~D 177
8. 8. Chapter 11 Boolean Algebra11.4 Boolean algebraA variety of Boolean expressions have been used but GeorgeBoole was responsible for the development of a completealgebra. In other words, the expressions follow laws similar tothose of the algebra of numbers.The operators ∧ and ∨ have certain properties similar to thoseof the arithmetic operators such as +, −, × and ÷.(a) Associative laws (a∨ b) ∨ c= a∨ (b ∨ c) and (a∧ b) ∧ c= a∧ (b ∧ c)(b) Commutative laws a∨ b = b ∨ a and a∧ b = b ∧ a(c) Distributive laws a∧ ( b ∨ c) = ( a∧ b) ∨ ( a∧ c) and a∨ ( b ∧ c) = ( a∨ b) ∧ ( a∨ c)These laws enable Boolean expressions to be simplified andanother law developed by an Englishman, Augustus de Morgan(1806-1871), is useful. He was a contemporary of Boole andworked in the field of logic and is now known for one importantresult bearing his name:-(d) de Morgans laws ~ ( a∨ b) = ~ a∧ ~ b and ~ ( a∧ b) = ~ a∨ ~ bNote: You have to remember to change the connection, ∧ changes to ∨, ∨ changes to ∧ .Two more laws complete the range of laws which are includedin the Boolean algebra.(e) Identity laws open switch = 0 a∨ 0 = a a a and a∧ 1 = a closed switch = 1 a a178
9. 9. Chapter 11 Boolean Algebra(f) Complement laws a a∨ ~ a = 1 1 ~a and a∧ ~ a = 0 a ~a 0The commutative law can be developed to give a further resultwhich is useful for the simplification of circuits. aConsider the expressions a∧ ( a∨ b) and the corresponding acircuit. ~bbIf switch a is open (a = 0) what can you say about the wholecircuit? What happens when switch a is closed (a = 1)? Doesthe switch b have any effect on your answers?The truth table for the circuit above shows that a∧ ( a∨ b) = a. a b a∧ (a∨ b) 0 0 0 0 1 0 1 0 1 1 1 1This result can be extended to more switches. For exampleif a∧ ( a∨ b) = athen a∧ ( a∨ b ∨ c) = aand a∧ ( a∨ b ∨ c) ∧ ( a∨ b) ∧ ( b ∨ c) = a∧ ( b ∨ c) .The last of these expressions is represented by this circuit: a a b a b c b cwhich can be replaced by the simplified circuit: b a cExample c bWrite down a Boolean expression for this circuit. Simplify the a b c aexpression and draw the corresponding circuit. a d 179
10. 10. Chapter 11 Boolean AlgebraSolution a∧ b ∧ ( a∨ c) ∧( b ∨ ( c∧ a) ∨ d) a∧ ( a∨ c) ∧ b ∧ ( b ∨ ( c∧ a) ∨ d)Since a∧ ( a∨ c) = aand b ∧ ( b ∨ ( c∧ a) ∨ d) = b ,an equivalent expression is a∧ band the circuit simplifies to a bActivity 2 Checking with truth tablesDraw truth tables for the example above to check that a∧ b ∧ ( a∨ c) ∧ ( b ∨ ( c∧ a) ∨ d) = a∧ bExercise 11DSimplify the following and check your answers by 3. Simplify the following circuit:drawing up truth tables: a b b a1. a∨ ( ~ a∧ b)2. a∧ [ b ∨ ( a∧ b)] ∧ [ a∨ ( ~ a∧ b)] c c d d11.5 Boolean functionsIn the same way as algebraic functions describe the relationshipbetween the domain, (a set of inputs) and the range (a set ofoutputs), a Boolean function can be described by a Booleanexpression. For example, if f ( x1 ,x2 ,x3 ) = x1 ∧ ( ~ x2 ∨ x3 )then f is the Boolean function and x1 ∧ ( ~ x2 ∨ x3 )is the Boolean expression.180
11. 11. Chapter 11 Boolean AlgebraExampleDraw the truth table for the Boolean function defined as f ( x1 , x2 , x3 ) = x1 ∧ ( ~ x2 ∨ x3 )SolutionThe inputs and outputs of this Boolean function are shown in thefollowing table: x1 x2 x3 f ( x1 ,x2 ,x3 ) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1It is sometimes necessary to form a function from a given truthtable. The method of achieving this is described in thefollowing example.ExampleFor the given truth table, form a Boolean function a b c f ( a, b, c) 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1SolutionThe first stage is to look for the places where f (a,b,c) is 1 andthen link them all together with ORs. For example, in the lastrow f (a, b, c) = 1 and this is the row in which a, b and c are alltrue; i.e. when a∧ b ∧ c= 1 . 181
12. 12. Chapter 11 Boolean AlgebraThe output is also 1, (i.e. f ( a, b, c) = 1 ) in the 7th row whichleads to the combination a∧ b∧ ~ c= 1Similarly, for the 5th row a∧ ~ b∧ ~ c= 1and for the 2nd row ~ a∧ ~ b ∧ c= 1and for the 1st row ~ a∧ ~ b∧ ~ c= 1All these combinations are joined using the connective ∨ to givethe Boolean expression( a∧ b ∧ c) ∨ ( a∧ b∧ ~ c) ∨ ( a∧ ~ b∧ ~ c) ∨ ( ~ a∧ ~ b ∧ c) ∨ ( ~ a∧ ~ b∧ ~ c)If the values of a, b and c are as shown in the 1st, 2nd, 5th, 7thand 8th row then the value of f ( a, b, c) = 1 in each case, and theexpression above has a value of 1. Similarly if a, b and c are asshown in the table for which f ( a, b, c) = 0 then the expressionabove has the value of 0.The Boolean function for the truth table is therefore given byf ( a, b, c) = ( a∧ b ∧ c) ∨ ( a∧ b∧ ~ c) ∨ ( a∧ ~ b∧ ~ c) ∨ ( ~ a∧ ~ b ∧ c) ∨ ( ~ a∧ ~ b∧ ~ c)This is called the disjunctive normal form of the function f; thecombinations formed by considering the rows with an outputvalue of 1 are joined by the disjunctive connective, OR.Exercise 11EFind the disjunctive normal form of the Booleanfunction for these truth tables:1. a b f (a, b) 3. x y z f (x, y, z) 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 12. a b f (a, b) 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1182
13. 13. Chapter 11 Boolean Algebra11.6 Minimisation with NAND gatesWhen designing combinatorial circuits, efficiency is sought byminimising the number of gates (or switches) in a circuit. Manycomputer circuits make use of another gate called a NAND gatewhich is used to replace NOT AND, thereby reducing thenumber of gates.The NAND gate receives inputs a and b and the output isdenoted by a↑ b .The symbol used is a a b bThe truth table for this is a b a↑ b 0 0 1 0 1 1 1 0 1 1 1 0The NAND gate is equivalent to a a∧b ~(a∧b) bNote that, by de Morgans law, ~ ( a∧ b) =~ a∨ ~ b.ExampleUse NAND gates alone to represent the function f ( a, b, c, d) = ( a∧ b) ∨ ( c∧ d)SolutionThe use of NAND gates implies that there must be negation sothe function is rewritten using de Morgans Laws: ( a∧ b) ∨ ( c∧ d) = ~ [( ~ a ∨ ~ b) ∧ ( ~ c ∨ ~ d)] 183
14. 14. Chapter 11 Boolean AlgebraThe circuit consisting of NAND gates is therefore as follows: a (~a∨~b) b f(a, b, c, d,) c d (~c∨~d)ExampleDesign combinatorial circuits to represent (a) the negationfunction f ( x) =~ x and (b) the OR function f ( x, y) = x∨ y.Solution(a) ~ x = ~ ( x∨ x ) x ~x = ~ x∧ ~ x = x↑ x(b) x∨ y = ~ ( ~ x ∧ ~ y) x = ~ x↑ ~ y y ( = x↑x ↑ y↑ y) ( )Exercise 11FDesign circuits for each of the following using onlyNAND gates.1. a∧ b2. a∧ ~ b3. ( ~ a∧ ~ b)∨ ~ b11.7 Full and half addersComputers turn all forms of data into binary digits , (0 s and 1s), called bits, which are manipulated mathematically. Forexample the number 7 is represented by the binary code00000111 (8 bits are used because many computers use binarydigits in groups of 8, for example, ASCII code). This sectiondescribes how binary digits can be added using a series of logicgates. The basic mathematical operation is addition since subtraction is the addition of negative numbers, multiplication is repeated addition, division is repeated subtraction.184
15. 15. Chapter 11 Boolean AlgebraWhen you are adding two numbers there are two results to note foreach column; the entry in the answer and the carrying figure. 254 178 432 11When 4 is added to 8 the result is 12, 2 is noted in the answer and thedigit 1 is carried on to the next column.When adding the second column the carry digit from the first columnis included, i.e. 5 + 7 + 1, giving yet another digit to carry on to thenext column.Half adderThe half adder is capable of dealing with two inputs, i.e. it can onlyadd two bits, each bit being either 1 or 0. a b Carry bit Answer bit a 0 0 0 0 b 0 1 0 1 1 0 0 1 1 1 1 0 Carry Answer bit bitActivity 3 Designing the half adder circuitThe next stage is to design a circuit which will give the results shownin the table above.The first part of the circuit is shown opposite; complete the rest of the a Carry bitcircuit which can be done with a NOT gate, an OR gate and an AND b ?gate to give the answer bit. ?Full AdderA half adder can only add two bits; a full adder circuit is capable ofincluding the carry bit in the addition and therefore has three inputs. 1 1 1 111 1 1 0 110 + carry 1 carry 0 carry Full Full Full 0 adder adder adder 1 1 0 1 1101 185