# 2. BOOLEAN ALGEBRA 2.1 INTRODUCTION

Size: px
Start display at page:

Transcription

1 2. BOOLEAN ALGEBRA 2.1 INTRODUCTION In the previous chapter, we introduced binary numbers and binary arithmetic. As you saw in binary arithmetic and in the handling of floating-point numbers, there is a need for accurate specification of procedures and schemes for manipulating and interpreting binary numbers! This chapter will begin to address how binary numbers are manipulated in a systematic manner by a computer. The principles of such manipulation are called Boolean Algebra, which is the foundation of digital logic circuit design and analysis. This algebra is conceived to handle variables, known as statements, each of which can take on one of two values, and on which operations are performed according to prescribed rules. For example, let us model our thinking processes in the adding of two binary digits. A brief examination of this simple problem leads us to consider all possible cases, since there are not too many of them. The two binary (input) digits will be called A 0 and B 0. The result (output) of the addition is represented by a sum-bit and a carry-bit, which we shall call S 0 and C 1, respectively. There are four possibilities of combinations of the two binary inputs. For each of these possibilities, we will specify the outputs: Inputs Outputs A 0 B 0 C 1 S This table represents all that one needs to know about the specific task of adding exactly two (not more!) single-digit binary numbers. We can now examine and attempt to describe the functional (see a later chapter for a formal definition of a COEN 231 Class Notes p 2.1 Boolean Algebra

2 function ), relationship between the inputs and outputs. A little thought will lead to the following conclusions: C 1 is 1 only if both A 0 and B 0 are 1, otherwise it is 0 S 0 is 1 only if either A 0 or B 0 are 1, but not both In this chapter, we will introduce algebraic operators, such as and, or, not and exclusive-or, which allow us to systematically build such sets of functional specifications. For the simple case of two single-digit binary numbers, this may not seem necessary, but becomes very useful even for slightly more complex situations. The example below (called the fulladder, briefly explained in the previous chapter), brings only one more variable, the carry digit from the next-less-significant binary addition operation, so that now we are adding exactly three single-digit binary numbers, represented by A i, B i, and C i. Now we need to consider 8 possible cases of input, because 2 3 = 8. We still need only 2 output bits, because the sum of three single-digit binary numbers can be no more than 3, which is represented by C i+1 =1 and S i =1. How shall we organize the eight cases? The simplest and most convenient way is to count from 0 to 7, arranging the input digits to represent the casenumber, as shown in the table below: Inputs Outputs Case # A i B i C i C i+1 S i In this full-adder example, the specification of the output is much more laborious and complicated than in the previous two-digit example: COEN 231 Class Notes p 2.2 Boolean Algebra

3 S i := 1 if [(A i is 0) and (B i is 0) and (C i is 1)] or [(A i is 0) and (B i is 1) and (C i is 0)] or [(A i is 1) and (B i is 0) and (C i is 0)] Note the or [(A i is 1) and (B i is 1) and (C i is 1)] two levels of brackets C i+1 := 1 if [(A i is 0) and (B i is 1) and (C i is 1)] or [(A i is 1) and (B i is 0) and (C i is 1)] or [(A i is 1) and (B i is 1) and (C i is 0)] or [(A i is 1) and (B i is 1) and (C i is 1)] Of course, one can also look for logical patterns in such a set of specifications, such as: C i+1 := 1 if [(A i is 0) and (B i is 1) and (C i is 1)] or [(A i is 1) and [(B i is 1) or (C i is 1)]] Note the three levels of brackets. There are several possible representations of each of S i and C i+1. Efficient representation, simplification and manipulation of logical expressions such as these is the main subject of this chapter on Boolean Algebra. 2.2 NOTATION, SYMBOLS AND OPERATIONS PRIMITIVE STATEMENT: Typically, capital letters (such as A,B,C) denote statements (also called variables). In a logic circuit, a statement could mean that a voltage at a designated point is above a certain threshold level. We assign to A, the value of 1 when A is true, namely when the voltage is above the threshold level, and the value of 0 when A is false, namely when the voltage is below the threshold level. Symbolically, we write A = 1 or A = 0. Some texts use the symbols T and F instead of 1 and 0. COEN 231 Class Notes p 2.3 Boolean Algebra

4 There are three basic operations known as NOT, AND and OR. As well, there is an additional commonly-used operation known as the exclusive-or (also called the half-adder ), which can be expressed in terms of the three basic operations. We will define these operations, introduce the notation used in Boolean algebra and give the graphical symbols used in logic circuits. NOT: (for example NOT A ; written as A or A) This operation on A simply inverts the assignments of 1 and 0. AND: (for example A AND B ; written as AB): This operation compares the values of A and B and assigns 1 as a result if both A and B are true or 0 if A or B or both A and B are false. OR: (for example A OR B ; written as A+B, meaning A or B or both ): This operation compares the values of A and B and assigns 1 as a result if A is true or B is true or both are true, and assigns 0 if both A and B are false. These definitions are summarized below in a special kind of table known as a Truth Table. Each line (row) of a truth table specifies the output truth value for a particular combination of truth values of the input Boolean statements (variables). A A' A B AB A+B Note the similarities to familiar arithmetic operations. It is also crucial to note the difference: 1+1 = 1 and not 10, (or 0 if one drops the leading 1 as one would in modulo 2 (binary arithmetic). There are related differences in the associated algebra: A + A = A; 1 + A = 1; AA = A. COEN 231 Class Notes p 2.4 Boolean Algebra

5 A commonly-used derived operation, Exclusive OR, is defined as follows. EXCLUSIVE OR, or XOR, also known as the Half-adder: (for example A EXCLUSIVE-OR B ; written as A B, meaning A or B but not both ). This operation compares the values of A and B and assigns 1 as a result if A or B (but not both), is true and assigns 0 if both A and B are true or both A and B are false. The truth table equivalent of the definition is: A B A B We call this a derived operation because, as is demonstrated in the truth table below, it can be written as a combination of basic operations, namely, A B = A B + AB. A B A B A B AB A B+AB COMPOUND STATEMENT: A compound statement is one that can be written as a combination of primitive statements. The XOR operation is an example of a compound statement. COEN 231 Class Notes p 2.5 Boolean Algebra

6 LOGIC GATE SYMBOLS: These are symbols for integrated circuits, known as gates, which carry out the electrical equivalents of Boolean operations. Inputs and outputs consist of voltages. When voltages are above or below a preset threshold level, then these are equivalent to the Boolean values of 1 or 0. DERIVED BASIC OPERATIONS OPERATION NOT AND OR XOR A A' A B AB A B A + B A B A'B + AB' Also known as an inverter A B NAND (AB)' made from an AND gate and an inverter B A B' A' AB A B A B XOR circuit made up of NOT, AND and OR gates COEN 231 Class Notes p 2.6 Boolean Algebra

7 One way of looking at the two basic connectives, AND and OR, is to use the switch analogy. We have two switches, p and q, which control a light bulb. If these two switches are in series, then they must both be closed if the bulb is to light. This is p and q (pq). If the two switches are in parallel, then if either one or both are on, the bulb will light. This is p or q (p+q). and: or: p q p q In a bi-stable switch, an input p can be stably connected to either of two output lines, one called p and the other called not-p. (Note that the symbolism p means the same as p.) input line p two output lines p COEN 231 Class Notes p 2.7 Boolean Algebra

8 2.3 LAWS OF BOOLEAN ALGEBRA Each of the laws stated below can be proven through the use of truth tables. These should be examined carefully. While some of them are the same as the laws of ordinary algebra, some of them are not. In particular, one should note De Morgan s laws, the first distribution law, the idempotency laws, the first domination law and the absorption laws. 1. A'' = A Double Complement 2. (A+B)' = A'B' De Morgan (AB) ' = A'+B' 3. A+B = B+A Commutation AB = BA 4. (A+B) +C = A+(B+C) Association (AB) C = A(BC) 5. A+(BC) = (A+B)(A+C) Distribution A(B+C ) = (AB) + (AC) 6. A+A = A Idempotency AA = A 7. A+0 = A Identity A1 = A 8. A+A' = 1 Inverse AA' = 0 9. A+1= 1 Domination A0= A+ (AB) = A Absorption A(A+B) = A For example, in Boolean Algebra, the first distribution law indicates that 1 + (1)(1) is equivalent to (1 + 1)(1 + 1) = (1)(1) = 1, while in ordinary algebra, 1+(2)(3) = 7 is not equivalent to (1+2)(1+3) = (3)(4) = 12. COEN 231 Class Notes p 2.8 Boolean Algebra

9 As an example, we prove De Morgan s laws. A B A B A+B (A+B) A B AB (AB) A +B THE PRINCIPLE OF DUALITY Except for the law of double complement, all of the above laws appear in pairs. The pairs are called duals of each other. In general, given any compound statement S, one can obtain its dual S d as follows: Replace each AND by an OR and each OR by an AND. Replace each 0 by a 1 and each 1 by a 0. Example: If S = AB C + A BC, then S d = (A + B + C )(A + B + C). Note: There is no reason in general to expect S to equal S d. There is also no reason in general to expect S to be the negation of S d. USE OF BRACKETS Without brackets, the order of operations is negation ( ), conjunction (and) and finally, disjunction (+). Brackets should be used whenever we wish to change the order or where there could be any ambiguity of interpretation. Where there are sets of nested brackets, operations on pairs of inner brackets are executed ahead of those on pairs of outer brackets. For example, the meaning of P+Q is "P or (not Q)" while (P+Q) means "not (P or Q)". Note that the variables A,B,C, P,Q can each represent any Boolean expression (single variable or compound statement). COEN 231 Class Notes p 2.9 Boolean Algebra

10 It can be shown, by using the Laws of Boolean Algebra, that the XOR operation is commutative and associative, namely that: A B = B A and that A (B C) = (A B) C. We can therefore without loss of clarity omit the brackets and write A B C. A (B C) = A (BC + B C) + A(BC + B C) definitions = A (BC + B C) + A[(BC ) (B C) ] demorgan = A (BC + B C) + A[(B +C) (B+C )] demorgan = A (BC + B C) + A[B B+B C +CB+CC ] distributive = A (BC + B C) + A[0+B C +CB+0] inverse = A (BC + B C) + A[B C +CB] identity = A BC + A B C + AB C +ABC distributive = A BC + AB C + A B C + ABC commutative = (A B + AB )C + (A B + AB)C distributive = (A B)C + (A B) C definitions Note: it can be easily shown that*: (A B) = (A B+AB ) = A B + AB. * In our treatment on logic we will define the derived operation if and only if with a special symbol, so that (A B) = A B COEN 231 Class Notes p 2.10 Boolean Algebra

11 NAND GATES It should be noted that the most common integrated circuit implementation of logic gates is through the interconnection of what are known as NAND gates since these have the best operational performance characteristics. A NAND gate has the same symbol as the AND gate with the addition of a small circle at the front end. It implements (AB). We now show how each of the four Boolean operations can be realized using NAND gates alone. Note that a NAND gate with both inputs connected together (left-most column) behaves as an inverter. NOT AND OR XOR A A' which is the same as A B (AB)' (AB)'' = AB A B A' B' (A'B')' = A+B B A B' A' (AB )' (A B)' A B A A' AB = ((AB) ) (by doublenegation) A+B = (A B ) (by demorgan) (A B+AB ) = (A B+AB ) = [(A B) (AB ) ] COEN 231 Class Notes p 2.11 Boolean Algebra

12 2.4 READING A COMPOUND STATEMENT GIVEN ITS TRUTH TABLE Often, we are given specifications for a logic circuit in the form of a truth table. To convert this to a compound statement, we note the combinations of input values for which the statement is true, (has a value of 1), and write the statement as the Boolean sum of products of the primitives which make it true. Ex. 1: We are given the following truth table, which specifies the output, F, in terms of three input variables A,B,C. Since there are three input variables, a complete specification requires 2 3 = 8 rows. Inputs Output A B C F The second row is the first instance where F = 1. Here, A=0 (A =1), B=0 (B =1), and C=1. The contribution of this row is thus A B C. Continuing in this fashion for the other three 1 s in the F column, we get the complete statement: F = A B C + A BC + AB C + ABC. In words, this means: The Boolean function F gives an output of 1 (True), when the input is A B C or when the input is A BC, or when the input is AB C, or when the input it ABC. Otherwise, F gives an output of 0 (False). COEN 231 Class Notes p 2.12 Boolean Algebra

13 Sometimes when F contains fewer 0 s than 1 s it is easier work with the 0 s. In this case, one would take the Boolean sum of the input terms which yield 0 s. This would give us all the cases where F is false, namely, we would obtain F. To get F we would then negate both sides of the equation and use the De Morgan s and distribution laws to convert the result to the same format as in Ex.1 above. Ex. 2 We are given the following truth table. A B C G G = A B C + ABC and G = [A B C + ABC ]. This statement can be simplified in terms of the number of primitives used, by the insertion of brackets, using the distribution law, namely G = [(A B + AB)C ]. COEN 231 Class Notes p 2.13 Boolean Algebra

14 2.5 MANIPULATION OF COMPOUND BOOLEAN STATEMENTS Manipulation of compound Boolean statements using the laws of Boolean algebra is a critical skill in computer engineering. Function specifications, such as in the examples above, need to be converted into specific formats for implementation in digital logic, and in general need to be simplified for efficiency. The Boolean AND-then-OR format consists of a Boolean sum of terms, each of which is a Boolean product of (possibly-negated) primitive statements. The result of Example 1 above is in AND-then-OR 1 format: F = A B C + A BC + AB C + ABC. This is a form suitable for representation in a circuit of AND gates followed by OR gates (AND gates whose outputs are then connected by OR gates.) A A' A'B'C B B' A'BC' C C' ABC' AB C ABC 1 When each Boolean product term contains all of the available variables, in this case A,B and C, then it is called a Boolean sum of products. COEN 231 Class Notes p 2.14 Boolean Algebra

15 The initial result of Example 2, G = A B C + ABC, is also a AND-then-OR result for the function G (not for G). We could obtain the AND-then-OR result for G by using the laws of logic: G = [(A B + AB)C ] G = (A B ) (AB) + C (demorgan) G = (A+B)(A +B )+C (demorgan) G = AA + AB + A B + BB + C (Distributive) G = 0 + AB +A B C (Inverse) G = AB + A B + C (Identity) This is in AND-then-OR format. There are at least two other important formats for digital logic design, the Boolean OR-then-AND and NAND formats. Boolean functions can be converted between these various formats using the laws of logic. Note that, although these are different representations of the same function, the three formats are logically equivalent (the truth table for the function remains the same). COEN 231 Class Notes p 2.15 Boolean Algebra

16 In the Boolean OR-then-AND format, the function is represented as a simple Boolean product of parenthesized expressions, each of which is a Boolean sum of (possiblynegated) primitive statements. For example, one can convert the above AND-then-OR result for G in Example 2, into OR-then-AND format for G (not G ) as follows: G = A B C + ABC G = (A B C + ABC ) (negation of both sides) G = (A B C + ABC ) (double negation) G = (A B C ) (ABC ) (demorgan) G = (A+B+C)(A +B +C) (demorgan) This is the result for G in OR-then-AND format. One could also have converted the result of Example 1 into ORthen-AND format, by working from the 0 s, as follows: F = A B C + A BC + AB C + ABC F = (A B C + A BC + AB C + ABC ) (negation) F = (A B C + A BC + AB C + ABC ) (double-negation) F = (A B C ) (A BC) (AB C) (ABC ) (demorgan) F = (A+B+C)(A+B +C )(A +B+C )(A +B +C) (demorgan) This is the result for F in OR-then-AND format. One can of course, reverse the process to convert a OR-then- AND to a AND-then-OR. F = (A+B+C)(A+B +C )(A +B+C )(A +B +C) F = ((A B C ) (A BC) (AB C) (ABC ) ) (demorgan) F = (A B C + A BC + AB C + ABC ) (demorgan) At this point, one notes that the negation of this AND-then-OR expression consists of the other four terms that appear in an eight-row truth table. We thus have: F = A B C + A BC + AB C + ABC. COEN 231 Class Notes p 2.16 Boolean Algebra

17 As mentioned above, it is often useful to convert Boolean functions into a form where they can be implemented using only NAND operations (gates). Note that this format involves only AND and NOT operations. If we inspect the two examples of derivations toward OR-then-AND above, we will see that in each case the next-to-last line is in a format convenient for conversion and implementation by 3-input NAND gates. To complete the conversion: G = (A B C ) (ABC ) G = [[(A B C ) (ABC ) ] ] (double-negation) A A' B B' (A'B'C')' [(A B C ) (ABC ) ] [(A'B'C')'(ABC')']' G (ABC')' C C' Note that we have used 7 gates. It is possible to realize G using only six gates. G = (A B C ) (ABC ) G = A B C + ABC = (A B + AB)C (DeMorgan,distrib ve) G = (A B + AB) + C (negation, De Morgan) G = A B + AB +C (See page 2.10) G = [A B + AB +C] (double-negation) G = [(A B) (AB ) C ] (DeMorgan) The drawing of the circuit is left as an exercise. COEN 231 Class Notes p 2.17 Boolean Algebra

18 Interrelationship among the different formats: Consider the example of a Boolean function F = A B C + ABC. F and its negation F can be expressed in various formats. The relationships between several of them is mapped out below. Notice the simple Boolean operations which interrelate them. Sum of Products Format F = [(A B C) + (ABC)] DeMorgan (inner brackets) F = [(A+B+C')' + (A +B +C')'] double negation F = F = [(A B C) + (ABC)] demorgan demorgan F = [(A+B+C')(A +B +C')]' negation demorgan (inner brackets) NAND Format F = [(A B C)'(ABC)']' Product of Sums Format F = [(A+B+C')(A +B +C')] COEN 231 Class Notes p 2.18 Boolean Algebra

19 The same type of analysis can be done for F. For example, when F = A B C + ABC as above, F simply consists of the minterms not included in F: F = A B C + A BC + A BC + AB C + AB C + ABC In this case, the interrelationships for F are: Sum of Products Format F = [(A B C ) + (A BC ) + (A BC) + (AB C ) + (AB C) + (ABC )] DeMorgan (inner brackets) F = [(A+B+C) + (A+B +C) + (A+B +C ) + (A +B+C) + (A +B+C ) + (A +B +C) ] double negation F = [F ] = [(A B C ) + (A BC ) + (A BC) + (AB C ) + (AB C) + (ABC )] demorgan demorgan F = [(A+B+C) (A+B +C) (A+B +C ) (A +B+C) (A +B+C ) (A +B +C)] negation demorgan (inner brackets) NAND Format F = [(A B C ) (A BC ) (A BC) + (AB C ) (AB C) (ABC ) ] Product of Sums Format F = [(A+B+C) (A+B +C) (A+B +C ) (A +B+C) (A +B+C ) (A +B +C)] COEN 231 Class Notes p 2.19 Boolean Algebra

20 2.6 SIMPLIFICATION OF COMPOUND BOOLEAN STATEMENTS In most cases, one should attempt to simplify compound statements, if for no other reason than to ensure that a minimum amount of digital logic can be used to implement these statements. For the purposes of this course, we will define simplification to mean that after the manipulation fewer primitives appear in the expression. Any skills gained in doing this are transferable to the simplification of compound logic statements or of compound set operations, since the rules governing these are identical to those of Boolean algebra. Simple examples are: i. F = AB + AB = A(B + B ) (Distributive) = A(1) (Inverse) = A (Identity) ii. iii. iv. F = A B C + ABC can be simplified a bit since F = (A B + AB)C (Distributive) reducing the number of primitives from six to five. F = A + A B doesn t look as if it can be simplified but it can. An easy way of doing this is use the distribution law with respect to + and write F = (A + A )(A + B) = (1)(A + B) (Inverse) = (A + B) (Identity) Another way is to write F = A + AB + A B (since A = A + AB by Absorption) = A + (A + A )B (Distributive) = A + (1)B (Inverse) = A + B (Identity) F = A B + AB cannot be simplified. COEN 231 Class Notes p 2.20 Boolean Algebra

21 One problem is to know when the statement has been minimized, namely it can be simplified no more. This is not always obvious, particularly when the number of variables (or primitive statements) is large. Further, the solution is not always unique. The approach we will follow here is useful where Boolean statements contain up to four variables. It leads into techniques, such as Karnaugh maps, which will be presented in courses on logic circuits, and which are useful for statements containing up to five or six variables. This technique is based on the Boolean AND-then-OR form discussed above. What we do is rewrite the statement as a Boolean sum of what are called minterms. A minterm for a compound statement containing n variables or primitives consists of a Boolean product of n variables. For example, if there are four variables, then AB CD is a minterm while ABC is not. In the industry, this is called a sum-of-products expansion. There are two ways of rewriting a given expression as a sum of minterms. The first way involves the use of the inverse law and of distribution with respect to the AND (Boolean product) operation. For example, F = A + B = A(B+B ) + (A+A )B (Identity, Inverse) = AB + AB + AB + A B (Distributive) = AB + AB + A B (Idempotent) The second way is to write the truth table for the given statement F, and then read off the values of the variables that make F true, namely, a truth-value of 1. COEN 231 Class Notes p 2.21 Boolean Algebra

22 For our simple example: A B F = A + B F = A B + AB + AB. Note that the technique for reading specification tables, presented in Section 2.4, generates minterms. COEN 231 Class Notes p 2.22 Boolean Algebra

23 Once an expression has been converted into its minterms, simplification (and determination whether any simplification is available) is relatively straightforward Test for determining whether or not a sum of minterms can be simplified It is sometimes possible to simplify sums of minterms through the use of brackets, e.g., A B C + ABC = (A B +AB)C. It is sometimes possible to simplify sums of minterms through the use of the laws of Boolean algebra, for example, AC + A BC = A(B + B)C + A BC = AB C + ABC + A BC (sum of minterms) Now one can recognize that minterms may be repeated, using the idempotent law. This is done in order to group the repeated minterm with other minterms, in order to remove literals. = AB C + ABC + ABC +A BC = (AB C + ABC) + (ABC +A BC) = A(B +B)C + (A + A )BC = AC + BC = (A + B)C. A B C + ABC cannot be simplified at all. In order to determine if any simplification can take place, we convert the minterms to ordered strings of 0 s and 1 s. The three examples given above become: COEN 231 Class Notes p 2.23 Boolean Algebra

24 First example Second example Third example A B C ABC AB C ABC A B C ABC The third 1 is in common. This means that a bracket can be used. A BC 011 The third 1 is in common (Bracket). First and second minterms differ by one digit. Second and third minterms differ by one digit. Simplification is possible as shown above. There is nothing in common. Nothing can be done. Simplification test for minterms: An expression whose minterms have nothing in common cannot be simplified. COEN 231 Class Notes p 2.24 Boolean Algebra

25 2.6.2 Examples of the simplification of Boolean statements The laws of Boolean algebra are available for the simplification of Boolean statements. Example 1: Simplify F = A + A B + A B C. Rewriting as minterms, directly from the functional expression above, we have: F = A(B + B )(C + C ) + A B(C + C ) + A B C = ABC + ABC + AB C + AB C + A BC + A BC + A B C This can be simplified substantially. We have already shown a few pages ago that A + A B = A + B. We can reuse this result here as follows: F = A + A B + A B C = A + A (B + B C) = A + A (B + C) = A + B + C Alternatively, we could have constructed the truth table from the original expression, F = A + A B + A B C: A B C F A B C A B A then examined the truth table and noticed that F = A B C, so that F = (A B C ) = A + B + C (by De Morgan). COEN 231 Class Notes p 2.25 Boolean Algebra

26 Example 2: Simplify F = AB+A C+BC One could construct the minterms in the usual ways: by truth table and/or by expansion of the three terms AB, A C, BC. Writing the truth table we have: A B C A AB A C BC F Here we note that the final result consists of: F =A B C+A BC+ABC +ABC which can be simplified as follows: =A (B +B)C+AB(C +C) = A C+AB Here, since column F contains as many 0 s as 1 s, there would be no advantage in proceeding to find F and converting it to F. Example 3: Given the following truth table, find and simplify the Boolean expression. A B C D F Reading off the minterms, we get: F = A B CD + A BCD + A BCD + AB CD + ABCD + ABCD. This can be simplified. F = (A + A)(B CD + BCD + BCD) = B CD + BCD + BCD = B CD + BCD + BCD + BCD = (B + B)CD + BC(D + D) = CD + BC = C(B + D) COEN 231 Class Notes p 2.26 Boolean Algebra

27 FROM WORDS TO GATES: Word descriptions of the task or operation Word descriptions using AND, OR, NOT, brackets Other formats Truth table Boolean AND-then-OR Boolean OR-then-AND minterms NAND format Manipulation, simplification, using laws of Boolean Algebra Don t cares Implementation of logic circuit using logic gates COEN 231 Class Notes p 2.27 Boolean Algebra

28 2.7 APPLICATIONS TO THE DESIGN OF LOGIC CIRCUITS The Full Adder Recall that in Chapter 1, and again at the beginning of this Chapter, we examined the addition of binary numbers. We repeat here the example of the addition of 1003 and 501. The techniques introduced in this chapter are well-suited to completing the task that we started. Addition Column number Carry digit - C First number - A Second number - B Sum - S 1504 We indicated that the i th digit S i, (represented by the column number), of the sum of two binary numbers, A and B, was: S i = 1 whenever the values of one member of the triplet (C i, A i, B i ) is a 1, with the other two members being 0 s, or whenever all three members of the triplet (C i, A i, B i ) are 1 s. Otherwise S i = 0. The value C i is the result of the carry operation determined from the full add operation of the previous (next-less-significant) column. The carry value for the next column, C i+1 = 1 whenever at least two of the triplet (A i, B i, C i ) are 1 s. In other words, either two of the triplet are 1 s with the third being 0, or all three of the triplet are 1 s. Otherwise C i+1 = 0. These specifications were summarized in Section 2.1, and are repeated here: Inputs Outputs Case # A i B i C i C i+1 S i COEN 231 Class Notes p 2.28 Boolean Algebra

29 COEN 231 Class Notes p 2.29 Boolean Algebra

30 We will now express these specifications as a sum of minterms (method 3), beginning with the word statements given in Section 2.1. The variables A i, B i, C i are considered to be inputs; the variables S i and C i+1 are considered to be outputs. S i := 1 if [(A i is 0) and (B i is 0) and (C i is 1)] or [(A i is 0) and (B i is 1) and (C i is 0)] or [(A i is 1) and (B i is 0) and (C i is 0)] or [(A i is 1) and (B i is 1) and (C i is 1)] C i+1 := 1 if [(A i is 0) and (B i is 1) and (C i is 1)] or [(A i is 1) and (B i is 0) and (C i is 1)] or [(A i is 1) and (B i is 1) and (C i is 0)] or [(A i is 1) and (B i is 1) and (C i is 1)] Now, with the techniques and notations introduced in this chapter, we are ready to translate these word specifications into the language of Boolean logic, so that they can be implemented in logic gates. In Boolean notation, these conditions become: S i = A i B i C i + A i B i C i + A i B i C i + A i B i C i C i+1 = A i B i C i + A i B i C i + A i B i C i + A i B i C i The first expression as stated, requires 11 2-input AND and OR operations, (eight 2-input AND gates and three 2-input OR gates), in addition to 3 inverters, and as a result, 14 logic gates to realize it. One of several possibilities for simplification is to reorder the terms and rewrite it as: S i = A i B i C i + A i B i C i + A i B i C i + A i B i C i = (A i B i C i + A i B i C i ) + (A i B i C i + A i B i C i ) S i = (A i B i + A i B i )C i + (A i B i + A i B i ) C i We now let D i = (A i B i + A i B i ), and recognize it as the exclusive OR, namely D i = A i B i. We have shown earlier that COEN 231 Class Notes p 2.30 Boolean Algebra

31 D i = (A i B i + A i B i ), which also appears in the expression (ahead of C i ). The realization of this using AND and OR gates is shown below. A D = A'B + AB' D B S C We have used six gates to realize this. If, in addition, we have available the XOR gate, we can rewrite it as: S i = (A i B i ) C i + (A i B i ) C i = (A i B i ) C i = A i B i C i. We now consider the second expression: C i+1 = A i B i C i + A i B i C i + A i B i C i + A i B i C i. The ABC term can be grouped with each of the 3 previous terms, so that: C i+1 =(A i B i C i +A i B i C i )+(A i B i C i +A i B i C i )+(A i B i C i +A i B i C i ) = A i B i (C i + C i ) + A i (B i + B i ) C i + (A i + A i )B i C i = A i B i + A i C i + B i C i = A i B i +(A i + B i )C i a reduction from 14 to 4 operations. Alternately, if XOR gates are used, we can rewrite it as: C i+1 = (A i B i C i + A i B i C i ) + (A i B i C i + A i B i C i ) = (A i B i +A i B i )C i +A i B i (C i +C i ) = (A i B i ) C i + A i B i This would allow us to use the results of one of the half-adders used in representing S i. COEN 231 Class Notes p 2.31 Boolean Algebra

32 The circuit to implement the full adder is shown below. What is not shown are the timing circuits that move the register connections from one digit to the next. (A B)C+AB ith digit (A B)C C (i+1)th digit S AB B A A B A B C The Full Adder Circuit COEN 231 Class Notes p 2.32 Boolean Algebra

33 2.7.2 The Use of Don t Care Conditions There are occasions when a number of minterms are not relevant to the production of outputs. These are called don t care conditions and can be used as necessary, to simplify the number of Boolean operations needed. The following example illustrates this technique. Imagine a stereo system, where the sound volume is often also represented visually by an arrangement of lights on the front panel. Often, this visual arrangement consists of 5 lights, in a stack, where the number of lights lit represents the instantaneous (moment-by-moment) loudness of the sound. Thus, when there is no sound, no lights will be on. When there is soft sound, perhaps the bottom one or two lights will flicker. And when the music is very loud, the bottom four, or all five lights, will be lit. Note: the choice of 5 lights (6 levels, since nolights-on represents no sound), is usually decided by some aesthetic (appearance) considerations. 5 status lights indicating sound volume So, given that there are 5 lights, and 6 levels, we will need more than 2 bits to represent the 6 different input sound levels. Therefore, we will need 3 bits, but we won t need to use all 8 possible patterns that can be represented in 3 bits. COEN 231 Class Notes p 2.33 Boolean Algebra

34 Therefore, we devise a series of five status conditions, S1 through S5, which are coded in binary as shown in the table below. As such the values A, B, and C are to be considered as inputs to the logic circuit. We wish to design a logic circuit that allows a series of five lights L1 through L5, to be turned on according to the following specifications. Status S1 will result in L1 being turned on; status S2 will result in both L1 and L2 being turned on, etc., and finally, status S5 will result in all five lights being turned on. There is an assumed sixth specification in that if none of the status conditions occur, we do not want any of the lights turned on. You will note that the table contains all possible three-digit binary numbers, of which there are eight. We only need the six that correspond to the six status conditions. The remaining two correspond to don t care conditions. There will not be an input signal corresponding to these two conditions. We have inserted X into the appropriate rows. The specifications S1 through S5 are in bold type while the don t care conditions D6 and D7 and the off condition, S0, are in plain type. Truth Table for Example 4 Inputs Outputs A B C L1 L2 L3 L4 L5 S Status S Conditions S S S S Don t care D X X X X X conditions D X X X X X COEN 231 Class Notes p 2.34 Boolean Algebra

35 In what follows we will demonstrate the use of the don t care conditions to simplify the logical implementation of the specifications. In order to develop an approach as to how to use the don t care conditions, let us concentrate on how to make the lights go on. An examination of the truth table will provide insight. For each light, ask the question what is it about the associated rows that distinguishes them from the rest of the rows? For example, for L3, what is it about the input conditions S3, S4, and S5 that distinguishes them from the other input conditions, S0, S1, and S2? Note that we don t need to distinguish them from the don t care conditions D6, D7. L5 = S5 is on only when inputs A and C are true and input B is false. However, since we don t care what happens with the D6 and D7 combinations of inputs, we need not distinguish S5 from D6 and D7. We only need to distinguish S5 from S0- S4. Therefore, we can try to use the don t care conditions to eliminate B from L5 = S5 = AB C and to achieve L5 = AC. In this way, it will turn out that the specification A and C are true is enough to distinguish S5 from S0-S4. Similarly, L4 = S4 + S5 is on only when A is true. As such, we would like to make L4 =A. L3 = S3 + S4 + S5 is on only when A is true or BC is true. Our objective is thus L3 = A + BC. L2 = S2 + S3 + S4 + S5 is on only when A or B are true. Our objective is thus L2 = A + B. L1 comes on when any of the statuses are true. As such we want L1 = A+B+C. You may (or may not) be able to see the above answers by inspection. Either way, the following analytical methods are useful, and can be applied when analyzing more complicated problems. COEN 231 Class Notes p 2.35 Boolean Algebra

36 We now use the don t care conditions to show in detail how we can do this. L5: We have the requirement that L5 = S5 = AB C. We have below it the minterm D7 = ABC. Since D7 will never be implemented as a separate specification, we don t care about it and are free to integrate it into the specifications in order to simplify them. As such, we redefine L5 by integrating D7 into it, so that now, L5 = AB C+ABC = A(B +B)C = AC. Our goal is to implement logic gates to turn on the lights in accordance with the specifications, so we can begin by placing the appropriate gate in a box which will contain our circuitry. Outputs L1 L2 L3 L4 L5 A Inputs B C AC COEN 231 Class Notes p 2.36 Boolean Algebra

37 L4: Initially we have that L4 = S4 + S5 = AB C +AB C. = AB. We now note that D6 + D7 = ABC + ABC = AB and that AB + AB = A. We now proceed to add these don t care conditions into the original specification for L4 and obtain L4 = (AB C +AB C)+(ABC +ABC) = AB +AB = A. L1 L2 L3 L4 L5 A B C AC L3: Proceeding as before, L3 = S3 + S4 + S5 = A BC+AB C +AB C. Adding in the don t care conditions, we get L3 = S3 + S4 + S5 + D6 + D7 = A BC+AB C +AB C + ABC + ABC = A BC+(AB C +AB C + ABC + ABC). Using the results of L4, this can be rewritten as A BC + A. This can be further simplified since we had shown in Example 1 that A Q + A = Q + A. Letting Q = BC, we have: L3 = BC + A. Another way of arriving at the result, is to write conditions, L3 = (S0 + S1 + S2) = (A B C + A B C + A BC ) = [A (B C + B C + BC )] = [A (BC) ] (Note that (B C + B C + BC ) = (BC) by the same reasoning as in Example 2, a few pages ago.) = A + (BC) = A + BC. L2: In the same manner, we let L2 = S2 + S3 + S4 + S5 + D6 + D7 = (S0 + S1) = (A B C + A B C) = [A B (C + C)] = [A B ] = A+B. COEN 231 Class Notes p 2.37 Boolean Algebra

38 L1: Based on what we have done before, we can immediately write L1 = S0 = [A B C ] = A + B + C. As we can see, the don t care conditions have allowed us to prove what was intuitively obvious from looking at the truth table. Given a restriction that we must use two-input gates, the complete circuit is designed with five two-input AND and OR gates. L5 = AC; L4 = A; L3 = A+BC; L2 = A+B; L1 = A+B+C = (A+B)+C. Outputs L1 L2 L3 L4 L5 A+BC Inputs A B A+B BC C AC A+B+C Complete Implementation of Example 4 COEN 231 Class Notes p 2.38 Boolean Algebra

39 2.8 BOOLEAN ALGEBRA: SUMMARY OF IMPORTANT SKILLS Specifications in words and their translation into Boolean logic AND, OR, NOT, XOR operations Logic gate symbols and interconnection NAND gates The Laws of Boolean Algebra (in dual pairs) Reading specification (truth) tables Manipulation of Boolean statements using the Laws 3 formats: sum-of-products, product-of-sums, NAND Simplification of Boolean statements The Full Adder: algebraic description and implementation in gates The use of the don t-care condition COEN 231 Class Notes p 2.39 Boolean Algebra

40 Boolean Algebra Problems 1. Using truth tables, prove the laws of distribution and absorption. 2. Show that the exclusive OR obeys the laws of commutation and association, namely A B = B A and that (A B) C = A (B C) = A B C. 3. Show that A BC + AC + C = A + B + C a) Using truth tables b) Using the laws of Boolean algebra and the result p +p q = p+q in the notes. c) Using minterms. You will note that the sum will include all minterms other than A B C. Make use of this. 4. (a) Show that the dual of the exclusive OR, S = A B =A B + AB, is S d = A B + AB. (In logic, this called the if and only if statement and is represented using A B.) (b) Show that the negation of S = A B = S d. (c) The negation of a Boolean statement is not usually equivalent to its dual. Verify this for the following pairs of dual Boolean expressions: (A+B) vs. (AB) ; (A+B) vs. (AB); (A+B+C) vs. (ABC); (A+0) vs. (A1). 5. Realize the A if and only if B, which is equivalent to (A B), as an interconnection of (only) NAND gates. Suggestion: start with ((A B) ). 6. A small design problem. A common feature (a great convenience) in buildings is to have a light controlled by a pair of switches located at different places. This means that there are two switches, one in each location. Let us label these switches p and q. Each switch has two possible positions, up and down, to which we will assign the truth values of 1 and 0 respectively. We want to use switch p to turn the light on or off regardless of the position of switch q and to use switch q to turn the light on or off regardless of the position of switch p. (a) Design a truth table which makes this possible. (b) Design a circuit which implements this truth table, using these two switches and wires. Hints: There are two possible designs. a particular switch s position (up/down) does not always mean the same thing (e.g. does not always mean the light is on ). The effect of up and down of one switch changes depending on the position of the other switch. (c) Once you have managed to do this, design a logic circuit that enables one to do the same thing from any one of three switches. COEN 231 Class Notes p 2.40 Boolean Algebra

41 7. Using truth tables, verify the each of the two results below, S i and C i+1, for the full-adder example: S i = (A i B i + A i B i )C i + (A i B i + A i B i ) C i C i+1 = (A i B i ) C i + A i B i 8. The following are several Boolean expressions related to the full adder. Implement each of them in logic gates corresponding to the particular Boolean operations represented in the expressions. S i = A i B i C i + A i B i C i + A i B i C i + A i B i C i S i = (A i B i + A i B i )C i + (A i B i + A i B i ) C i S i = A i B i C i (using XOR gates) C i+1 = A i B i C i + A i B i C i + A i B i C i + A i B i C i C i+1 = (A i B i ) C i + A i B i (using an XOR gate) 9. The table below defines two Boolean functions, b 1 (a 1,a 2,a 3,a 4 ) and b 2 (a 1,a 2,a 3,a 4 ). Each row (line) gives the output for a specific combination of inputs (a 1,a 2,a 3,a 4 ). For each of the two functions, write the equivalent Boolean expression, simplify it as much as possible, and implement it by drawing logic gates. a 1 a 2 a 3 a 4 b 1 b (10) Simplify as much as possible the following Boolean expression, using the laws of Boolean Algebra: MQ + M R + QR Show clearly which laws you are using in your simplification. COEN 231 Class Notes p 2.41 Boolean Algebra

42 (11) (a) Prove this Boolean equivalence by truth tables: A + AB = A (b) Prove this Boolean equivalence by the laws of Boolean algebra: AB + B = A + B (12) The table below defines two Boolean functions, f 1 (A,B,C) and f 2 (A,B,C). Each row (line) gives the output for a specific combination of inputs (A,B,C). (a) For each of the two functions, write the equivalent Boolean expression, and then simplify your Boolean expression as much as possible. (b) Then implement f 2 by drawing logic gates. A B C f 1 f (13) Draw the Boolean circuit for G = [(A B) (AB ) C ], using only NAND gates (each gate having up to 3 inputs). COEN 231 Class Notes p 2.42 Boolean Algebra

43 (14) Consider the conversion of an 8-bit binary number into its 2 s complement, particularly the shortcut method described in Chapter 1. One method for doing the conversion in a computer would be as follows: let A i represent the bits (A 7 A 0 ) of the binary number being converted. let B i represent the bits (B 7 B 0 ) of the binary number after conversion. let F i represent flag bits (F 7 F 0 ) which will be used to flag whether we have reached the first 1, as prescribed in Chapter 1. This bit responds to the question ( starting from the right, have I reached the first 1 yet? ) before the conversion begins, all the flag bits are 0, to be changed as needed by the Boolean function you will design. the conversion begins at the rightmost bit (A 0 ), and proceeds, bit-by-bit, toward the left, until all bits are converted into 2 s complement. after the conversion is complete, F i should be 0 up to and including the first 1 encountered from the right, and then F i should be 1 for all subsequent bits. The problem: (a) Specify the truth table for the Boolean function which takes as input A i and F i, and gives as output B i and F i+1. (b) Translate the truth table into symbolic Boolean functions for B i and F i+1. Suggestion: draw a diagram showing how you will be changing the bits. F i+1 = F i = A i = B i = You decide based on these two, what to put into these two COEN 231 Class Notes p 2.43 Boolean Algebra

### Introduction to Computer Architecture

Boolean Operators The Boolean operators AND and OR are binary infix operators (that is, they take two arguments, and the operator appears between them.) A AND B D OR E We will form Boolean Functions of

### IT 201 Digital System Design Module II Notes

IT 201 Digital System Design Module II Notes BOOLEAN OPERATIONS AND EXPRESSIONS Variable, complement, and literal are terms used in Boolean algebra. A variable is a symbol used to represent a logical quantity.

### Experiment 4 Boolean Functions Implementation

Experiment 4 Boolean Functions Implementation Introduction: Generally you will find that the basic logic functions AND, OR, NAND, NOR, and NOT are not sufficient to implement complex digital logic functions.

### CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey 2. Introduction Logic gates are connected together to produce a specified output for certain specified combinations of input

### Summary. Boolean Addition

Summary Boolean Addition In Boolean algebra, a variable is a symbol used to represent an action, a condition, or data. A single variable can only have a value of or 0. The complement represents the inverse

### (Refer Slide Time 6:48)

Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

### Chapter 2 Boolean algebra and Logic Gates

Chapter 2 Boolean algebra and Logic Gates 2. Introduction In working with logic relations in digital form, we need a set of rules for symbolic manipulation which will enable us to simplify complex expressions

### Gate Level Minimization Map Method

Gate Level Minimization Map Method Complexity of hardware implementation is directly related to the complexity of the algebraic expression Truth table representation of a function is unique Algebraically

### DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS

C H A P T E R 6 DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS OUTLINE 6- Binary Addition 6-2 Representing Signed Numbers 6-3 Addition in the 2 s- Complement System 6-4 Subtraction in the 2 s- Complement

Get Free notes at Module-I One s Complement: Complement all the bits.i.e. makes all 1s as 0s and all 0s as 1s Two s Complement: One s complement+1 SIGNED BINARY NUMBERS Positive integers (including zero)

### Module -7. Karnaugh Maps

1 Module -7 Karnaugh Maps 1. Introduction 2. Canonical and Standard forms 2.1 Minterms 2.2 Maxterms 2.3 Canonical Sum of Product or Sum-of-Minterms (SOM) 2.4 Canonical product of sum or Product-of-Maxterms(POM)

### BOOLEAN ALGEBRA. Logic circuit: 1. From logic circuit to Boolean expression. Derive the Boolean expression for the following circuits.

COURSE / CODE DIGITAL SYSTEMS FUNDAMENTAL (ECE 421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE 422) BOOLEAN ALGEBRA Boolean Logic Boolean logic is a complete system for logical operations. It is used in countless

### Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions 1. Convert the following SOP expression to an equivalent POS expression. 2. Determine the values of A, B, C, and D that make

### LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

LSN 4 Boolean Algebra & Logic Simplification Department of Engineering Technology LSN 4 Key Terms Variable: a symbol used to represent a logic quantity Compliment: the inverse of a variable Literal: a

### 2.6 BOOLEAN FUNCTIONS

2.6 BOOLEAN FUNCTIONS Binary variables have two values, either 0 or 1. A Boolean function is an expression formed with binary variables, the two binary operators AND and OR, one unary operator NOT, parentheses

### Computer Science. Unit-4: Introduction to Boolean Algebra

Unit-4: Introduction to Boolean Algebra Learning Objective At the end of the chapter students will: Learn Fundamental concepts and basic laws of Boolean algebra. Learn about Boolean expression and will

### 1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM

1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number

### Simplification of Boolean Functions

COM111 Introduction to Computer Engineering (Fall 2006-2007) NOTES 5 -- page 1 of 5 Introduction Simplification of Boolean Functions You already know one method for simplifying Boolean expressions: Boolean

### ENGIN 112 Intro to Electrical and Computer Engineering

ENGIN 2 Intro to Electrical and Computer Engineering Lecture 5 Boolean Algebra Overview Logic functions with s and s Building digital circuitry Truth tables Logic symbols and waveforms Boolean algebra

### Unit-IV Boolean Algebra

Unit-IV Boolean Algebra Boolean Algebra Chapter: 08 Truth table: Truth table is a table, which represents all the possible values of logical variables/statements along with all the possible results of

### (Refer Slide Time 3:31)

Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

### BOOLEAN ALGEBRA AND CIRCUITS

UNIT 3 Structure BOOLEAN ALGEBRA AND CIRCUITS Boolean Algebra and 3. Introduction 3. Objectives 3.2 Boolean Algebras 3.3 Logic 3.4 Boolean Functions 3.5 Summary 3.6 Solutions/ Answers 3. INTRODUCTION This

### Objectives: 1- Bolean Algebra. Eng. Ayman Metwali

Objectives: Chapter 3 : 1- Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions 2- Logic gates 3- Digital Components 4-

### Boolean Analysis of Logic Circuits

Course: B.Sc. Applied Physical Science (Computer Science) Year & Sem.: IInd Year, Sem - IIIrd Subject: Computer Science Paper No.: IX Paper Title: Computer System Architecture Lecture No.: 7 Lecture Title:

### Ch. 5 : Boolean Algebra &

Ch. 5 : Boolean Algebra & Reduction elektronik@fisika.ui.ac.id Objectives Should able to: Write Boolean equations for combinational logic applications. Utilize Boolean algebra laws and rules for simplifying

### EECS150 Homework 2 Solutions Fall ) CLD2 problem 2.2. Page 1 of 15

1.) CLD2 problem 2.2 We are allowed to use AND gates, OR gates, and inverters. Note that all of the Boolean expression are already conveniently expressed in terms of AND's, OR's, and inversions. Thus,

### Combinational Devices and Boolean Algebra

Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L02-1 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials

### Starting Boolean Algebra

Boolean Algebra March 2, 27 Diagram for FunChip2 Here is a picture of FunChip2 that we created more or less randomly in class on /25 (used in various Activities): Starting Boolean Algebra Boolean algebra

### Combinational Logic & Circuits

Week-I Combinational Logic & Circuits Spring' 232 - Logic Design Page Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other

### Digital Logic Design (CEN-120) (3+1)

Digital Logic Design (CEN-120) (3+1) ASSISTANT PROFESSOR Engr. Syed Rizwan Ali, MS(CAAD)UK, PDG(CS)UK, PGD(PM)IR, BS(CE)PK HEC Certified Master Trainer (MT-FPDP) PEC Certified Professional Engineer (COM/2531)

### Chapter 2. Boolean Expressions:

Chapter 2 Boolean Expressions: A Boolean expression or a function is an expression which consists of binary variables joined by the Boolean connectives AND and OR along with NOT operation. Any Boolean

### Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Slide Set 5 for ENEL 353 Fall 207 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 207 SN s ENEL 353 Fall 207 Slide Set 5 slide

### Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 2-1 Binary Logic and Gates 2-2 Boolean Algebra 2-3 Standard Forms 2-4 Two-Level Circuit Optimization

### Propositional Calculus. Math Foundations of Computer Science

Propositional Calculus Math Foundations of Computer Science Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they can use it to

### Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Review EECS 150 - Components and Design Techniques for Digital Systems Lec 05 Boolean Logic 94-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley Design flow

### DKT 122/3 DIGITAL SYSTEM 1

Company LOGO DKT 122/3 DIGITAL SYSTEM 1 BOOLEAN ALGEBRA (PART 2) Boolean Algebra Contents Boolean Operations & Expression Laws & Rules of Boolean algebra DeMorgan s Theorems Boolean analysis of logic circuits

### UNIT-4 BOOLEAN LOGIC. NOT Operator Operates on single variable. It gives the complement value of variable.

UNIT-4 BOOLEAN LOGIC Boolean algebra is an algebra that deals with Boolean values((true and FALSE). Everyday we have to make logic decisions: Should I carry the book or not?, Should I watch TV or not?

### Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Announcements Today: PS 7 Lab 8: Sound Lab tonight bring machines and headphones! PA 7 Tomorrow: Lab 9 Friday: PS8 Today (Short) Floating point review Boolean

### Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions

### Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Logic Design First Stage Lecture No.5 Boolean Algebra Bawar Abid Abdalla Assistant Lecturer Software Engineering Department Koya University Boolean Operations Laws of Boolean Algebra Rules of Boolean Algebra

### Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Announcements PS8 Due today PS9 Due July 22 Sound Lab tonight bring machines and headphones! Binary Search Today Review of binary floating point notation

### COMP combinational logic 1 Jan. 18, 2016

In lectures 1 and 2, we looked at representations of numbers. For the case of integers, we saw that we could perform addition of two numbers using a binary representation and using the same algorithm that

### Combinational Circuits Digital Logic (Materials taken primarily from:

Combinational Circuits Digital Logic (Materials taken primarily from: http://www.facstaff.bucknell.edu/mastascu/elessonshtml/eeindex.html http://www.cs.princeton.edu/~cos126 ) Digital Systems What is a

### ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter

### ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

### DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,

### Chapter 3. Gate-Level Minimization. Outlines

Chapter 3 Gate-Level Minimization Introduction The Map Method Four-Variable Map Five-Variable Map Outlines Product of Sums Simplification Don t-care Conditions NAND and NOR Implementation Other Two-Level

### SYNERGY INSTITUTE OF ENGINEERING & TECHNOLOGY,DHENKANAL LECTURE NOTES ON DIGITAL ELECTRONICS CIRCUIT(SUBJECT CODE:PCEC4202)

Lecture No:5 Boolean Expressions and Definitions Boolean Algebra Boolean Algebra is used to analyze and simplify the digital (logic) circuits. It uses only the binary numbers i.e. 0 and 1. It is also called

### 1. Mark the correct statement(s)

1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another

### Designing Computer Systems Boolean Algebra

Designing Computer Systems Boolean Algebra 08:34:45 PM 4 June 2013 BA-1 Scott & Linda Wills Designing Computer Systems Boolean Algebra Programmable computers can exhibit amazing complexity and generality.

28 The McGraw-Hill Companies, Inc. All rights reserved. 28 The McGraw-Hill Companies, Inc. All rights reserved. All or Nothing Gate Boolean Expression: A B = Y Truth Table (ee next slide) or AB = Y 28

### Simplification of Boolean Functions

Simplification of Boolean Functions Contents: Why simplification? The Map Method Two, Three, Four and Five variable Maps. Simplification of two, three, four and five variable Boolean function by Map method.

### NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-II COMBINATIONAL CIRCUITS

NH 67, Karur Trichy Highways, Puliyur C.F, 639 114 Karur District DEPARTMENT OF ELETRONICS AND COMMUNICATION ENGINEERING COURSE NOTES SUBJECT: DIGITAL ELECTRONICS CLASS: II YEAR ECE SUBJECT CODE: EC2203

### Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map

Points Addressed in this Lecture Lecture 4: Logic Simplication & Karnaugh Map Professor Peter Cheung Department of EEE, Imperial College London Standard form of Boolean Expressions Sum-of-Products (SOP),

### Circuit analysis summary

Boolean Algebra Circuit analysis summary After finding the circuit inputs and outputs, you can come up with either an expression or a truth table to describe what the circuit does. You can easily convert

### Chapter 3. Boolean Algebra and Digital Logic

Chapter 3 Boolean Algebra and Digital Logic Chapter 3 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple logic circuits. Understand how

### CS470: Computer Architecture. AMD Quad Core

CS470: Computer Architecture Yashwant K. Malaiya, Professor malaiya@cs.colostate.edu AMD Quad Core 1 Architecture Layers Building blocks Gates, flip-flops Functional bocks: Combinational, Sequential Instruction

### 4. Write a sum-of-products representation of the following circuit. Y = (A + B + C) (A + B + C)

COP 273, Winter 26 Exercises 2 - combinational logic Questions. How many boolean functions can be defined on n input variables? 2. Consider the function: Y = (A B) (A C) B (a) Draw a combinational logic

### Menu. Algebraic Simplification - Boolean Algebra EEL3701 EEL3701. MSOP, MPOS, Simplification

Menu Minterms & Maxterms SOP & POS MSOP & MPOS Simplification using the theorems/laws/axioms Look into my... 1 Definitions (Review) Algebraic Simplification - Boolean Algebra Minterms (written as m i ):

### Experiment 3: Logic Simplification

Module: Logic Design Name:... University no:.. Group no:. Lab Partner Name: Mr. Mohamed El-Saied Experiment : Logic Simplification Objective: How to implement and verify the operation of the logical functions

### Logic, Words, and Integers

Computer Science 52 Logic, Words, and Integers 1 Words and Data The basic unit of information in a computer is the bit; it is simply a quantity that takes one of two values, 0 or 1. A sequence of k bits

### Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Logic Design First Stage Lecture No.6 Boolean Algebra Bawar Abid Abdalla Assistant Lecturer Software Engineering Department Koya University Outlines Boolean Operations Laws of Boolean Algebra Rules of

### X Y Z F=X+Y+Z

This circuit is used to obtain the compliment of a value. If X = 0, then X = 1. The truth table for NOT gate is : X X 0 1 1 0 2. OR gate : The OR gate has two or more input signals but only one output

### COMBINATIONAL LOGIC CIRCUITS

COMBINATIONAL LOGIC CIRCUITS 4.1 INTRODUCTION The digital system consists of two types of circuits, namely: (i) Combinational circuits and (ii) Sequential circuits A combinational circuit consists of logic

### Logic Design: Part 2

Orange Coast College Business Division Computer Science Department CS 6- Computer Architecture Logic Design: Part 2 Where are we? Number systems Decimal Binary (and related Octal and Hexadecimal) Binary

### Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus

### UNIT II. Circuit minimization

UNIT II Circuit minimization The complexity of the digital logic gates that implement a Boolean function is directly related to the complexity of the algebraic expression from which the function is implemented.

### QUESTION BANK FOR TEST

CSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK FOR TEST 1 Note: This represents a sample set. Please study all the topics from the lecture notes. Question 1. Multiple Choice

### R.M.D. ENGINEERING COLLEGE R.S.M. Nagar, Kavaraipettai

L T P C R.M.D. ENGINEERING COLLEGE R.S.M. Nagar, Kavaraipettai- 601206 DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC8392 UNIT - I 3 0 0 3 OBJECTIVES: To present the Digital fundamentals, Boolean

### Gate Level Minimization

Gate Level Minimization By Dr. M. Hebaishy Digital Logic Design Ch- Simplifying Boolean Equations Example : Y = AB + AB Example 2: = B (A + A) T8 = B () T5 = B T Y = A(AB + ABC) = A (AB ( + C ) ) T8 =

### Digital Techniques. Lecture 1. 1 st Class

Digital Techniques Lecture 1 1 st Class Digital Techniques Digital Computer and Digital System: Digital computer is a part of digital system, it based on binary system. A block diagram of digital computer

### Specifying logic functions

CSE4: Components and Design Techniques for Digital Systems Specifying logic functions Instructor: Mohsen Imani Slides from: Prof.Tajana Simunic and Dr.Pietro Mercati We have seen various concepts: Last

### 4 KARNAUGH MAP MINIMIZATION

4 KARNAUGH MAP MINIMIZATION A Karnaugh map provides a systematic method for simplifying Boolean expressions and, if properly used, will produce the simplest SOP or POS expression possible, known as the

### SWITCHING THEORY AND LOGIC CIRCUITS

SWITCHING THEORY AND LOGIC CIRCUITS COURSE OBJECTIVES. To understand the concepts and techniques associated with the number systems and codes 2. To understand the simplification methods (Boolean algebra

### Optimized Implementation of Logic Functions

June 25, 22 9:7 vra235_ch4 Sheet number Page number 49 black chapter 4 Optimized Implementation of Logic Functions 4. Nc3xe4, Nb8 d7 49 June 25, 22 9:7 vra235_ch4 Sheet number 2 Page number 5 black 5 CHAPTER

### CS February 17

Discrete Mathematics CS 26 February 7 Equal Boolean Functions Two Boolean functions F and G of degree n are equal iff for all (x n,..x n ) B, F (x,..x n ) = G (x,..x n ) Example: F(x,y,z) = x(y+z), G(x,y,z)

### Boolean Algebra and Logic Gates

Boolean Algebra and Logic Gates Binary logic is used in all of today's digital computers and devices Cost of the circuits is an important factor Finding simpler and cheaper but equivalent circuits can

### Gate-Level Minimization

Gate-Level Minimization ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2011 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines The Map Method

### ENGINEERS ACADEMY. 7. Given Boolean theorem. (a) A B A C B C A B A C. (b) AB AC BC AB BC. (c) AB AC BC A B A C B C.

Digital Electronics Boolean Function QUESTION BANK. The Boolean equation Y = C + C + C can be simplified to (a) (c) A (B + C) (b) AC (d) C. The Boolean equation Y = (A + B) (A + B) can be simplified to

### Chapter 2 Combinational

Computer Engineering 1 (ECE290) Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization HOANG Trang 2008 Pearson Education, Inc. Overview Part 1 Gate Circuits and Boolean Equations Binary Logic

### An Interesting Way to Combine Numbers

An Interesting Way to Combine Numbers Joshua Zucker and Tom Davis October 12, 2016 Abstract This exercise can be used for middle school students and older. The original problem seems almost impossibly

### Lecture (04) Boolean Algebra and Logic Gates

Lecture (4) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU : Spring 26, Logic Design Boolean algebra properties basic assumptions and properties: Closure law A set S is

### Lecture (04) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee

Lecture (4) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee Boolean algebra properties basic assumptions and properties: Closure law A set S is closed with respect to a binary operator, for every

### EE292: Fundamentals of ECE

EE292: Fundamentals of ECE Fall 2012 TTh 10:00-11:15 SEB 1242 Lecture 22 121115 http://www.ee.unlv.edu/~b1morris/ee292/ 2 Outline Review Binary Number Representation Binary Arithmetic Combinatorial Logic

### Boolean algebra. June 17, Howard Huang 1

Boolean algebra Yesterday we talked about how analog voltages can represent the logical values true and false. We introduced the basic Boolean operations AND, OR and NOT, which can be implemented in hardware

### Injntu.com Injntu.com Injntu.com R16

1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by K-map? Name it advantages and disadvantages. (3M) c) Distinguish between a half-adder

### Boolean Algebra & Digital Logic

Boolean Algebra & Digital Logic Boolean algebra was developed by the Englishman George Boole, who published the basic principles in the 1854 treatise An Investigation of the Laws of Thought on Which to

### To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 7 This lecture returns to the topic of propositional logic. Whereas in Lecture 1 we studied this topic as a way of understanding proper reasoning

### 1. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z

CS W3827 05S Solutions for Midterm Exam 3/3/05. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.

### DIGITAL SYSTEM DESIGN

DIGITAL SYSTEM DESIGN UNIT I: Introduction to Number Systems and Boolean Algebra Digital and Analog Basic Concepts, Some history of Digital Systems-Introduction to number systems, Binary numbers, Number

### CS40-S13: Functional Completeness

CS40-S13: Functional Completeness Victor Amelkin victor@cs.ucsb.edu April 12, 2013 In class, we have briefly discussed what functional completeness means and how to prove that a certain system (a set)

### 2.1 Binary Logic and Gates

1 EED2003 Digital Design Presentation 2: Boolean Algebra Asst. Prof.Dr. Ahmet ÖZKURT Asst. Prof.Dr Hakkı T. YALAZAN Based on the Lecture Notes by Jaeyoung Choi choi@comp.ssu.ac.kr Fall 2000 2.1 Binary

### LECTURE 4. Logic Design

LECTURE 4 Logic Design LOGIC DESIGN The language of the machine is binary that is, sequences of 1 s and 0 s. But why? At the hardware level, computers are streams of signals. These signals only have two

### B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

B.Tech II Year I Semester () Regular Examinations December 2014 (Common to IT and CSE) (a) If 1010 2 + 10 2 = X 10, then X is ----- Write the first 9 decimal digits in base 3. (c) What is meant by don

### Lecture #21 March 31, 2004 Introduction to Gates and Circuits

Lecture #21 March 31, 2004 Introduction to Gates and Circuits To this point we have looked at computers strictly from the perspective of assembly language programming. While it is possible to go a great

### Gate-Level Minimization

Gate-Level Minimization ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines The Map Method

### Chapter 3 Simplification of Boolean functions

3.1 Introduction Chapter 3 Simplification of Boolean functions In this chapter, we are going to discuss several methods for simplifying the Boolean function. What is the need for simplifying the Boolean

### Chapter 2 Combinational Logic Circuits

Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Overview Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard