2. BOOLEAN ALGEBRA 2.1 INTRODUCTION


 Rudolf Hubbard
 2 years ago
 Views:
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 floatingpoint 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 sumbit and a carrybit, 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!) singledigit 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 exclusiveor, which allow us to systematically build such sets of functional specifications. For the simple case of two singledigit 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 nextlesssignificant binary addition operation, so that now we are adding exactly three singledigit 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 singledigit 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 fulladder example, the specification of the output is much more laborious and complicated than in the previous twodigit 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 commonlyused operation known as the exclusiveor (also called the halfadder ), 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 commonlyused derived operation, Exclusive OR, is defined as follows. EXCLUSIVE OR, or XOR, also known as the Halfadder: (for example A EXCLUSIVEOR 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 bistable switch, an input p can be stably connected to either of two output lines, one called p and the other called notp. (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 (leftmost 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 ANDthenOR format consists of a Boolean sum of terms, each of which is a Boolean product of (possiblynegated) primitive statements. The result of Example 1 above is in ANDthenOR 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 ANDthenOR result for the function G (not for G). We could obtain the ANDthenOR 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 ANDthenOR format. There are at least two other important formats for digital logic design, the Boolean ORthenAND 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 ORthenAND 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 ANDthenOR result for G in Example 2, into ORthenAND 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 ORthenAND format. One could also have converted the result of Example 1 into ORthenAND 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 ) (doublenegation) 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 ORthenAND format. One can of course, reverse the process to convert a ORthen AND to a ANDthenOR. 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 ANDthenOR expression consists of the other four terms that appear in an eightrow 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 ORthenAND above, we will see that in each case the nexttolast line is in a format convenient for conversion and implementation by 3input NAND gates. To complete the conversion: G = (A B C ) (ABC ) G = [[(A B C ) (ABC ) ] ] (doublenegation) 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] (doublenegation) 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 ANDthenOR 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 sumofproducts 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 truthvalue 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 ANDthenOR Boolean ORthenAND 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 wellsuited 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 (nextlesssignificant) 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 2input AND and OR operations, (eight 2input AND gates and three 2input 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 halfadders 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 (momentbymoment) 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 nolightson 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 threedigit 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 S0S4. 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 twoinput gates, the complete circuit is designed with five twoinput 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: sumofproducts, productofsums, NAND Simplification of Boolean statements The Full Adder: algebraic description and implementation in gates The use of the don tcare 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 fulladder 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 8bit 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, bitbybit, 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
More informationIT 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.
More informationExperiment 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.
More informationCHAPTER2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, KMap and QuineMcCluskey
CHAPTER2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, KMap and QuineMcCluskey 2. Introduction Logic gates are connected together to produce a specified output for certain specified combinations of input
More informationSummary. 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
More information(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
More informationChapter 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
More informationGate 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
More informationDIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS
C H A P T E R 6 DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS OUTLINE 6 Binary Addition 62 Representing Signed Numbers 63 Addition in the 2 s Complement System 64 Subtraction in the 2 s Complement
More informationGet Free notes at ModuleI 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)
More informationModule 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 SumofMinterms (SOM) 2.4 Canonical product of sum or ProductofMaxterms(POM)
More informationBOOLEAN 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
More informationAssignment (36) Boolean Algebra and Logic Simplification  General Questions
Assignment (36) 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
More informationLSN 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
More information2.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
More informationComputer Science. Unit4: Introduction to Boolean Algebra
Unit4: 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
More information1. 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
More informationSimplification of Boolean Functions
COM111 Introduction to Computer Engineering (Fall 20062007) NOTES 5  page 1 of 5 Introduction Simplification of Boolean Functions You already know one method for simplifying Boolean expressions: Boolean
More informationENGIN 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
More informationUnitIV Boolean Algebra
UnitIV 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
More information(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
More informationBOOLEAN 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
More informationObjectives: 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
More informationBoolean 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:
More informationCh. 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
More informationEECS150 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,
More informationCombinational Devices and Boolean Algebra
Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L021 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials
More informationStarting 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
More informationCombinational Logic & Circuits
WeekI Combinational Logic & Circuits Spring' 232  Logic Design Page Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other
More informationDigital Logic Design (CEN120) (3+1)
Digital Logic Design (CEN120) (3+1) ASSISTANT PROFESSOR Engr. Syed Rizwan Ali, MS(CAAD)UK, PDG(CS)UK, PGD(PM)IR, BS(CE)PK HEC Certified Master Trainer (MTFPDP) PEC Certified Professional Engineer (COM/2531)
More informationChapter 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
More informationSlide 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
More informationCombinational Logic Circuits
Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 21 Binary Logic and Gates 22 Boolean Algebra 23 Standard Forms 24 TwoLevel Circuit Optimization
More informationPropositional 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
More informationReview. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/404. Seq. Circuit Behavior. Outline.
Review EECS 150  Components and Design Techniques for Digital Systems Lec 05 Boolean Logic 9404 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley Design flow
More informationDKT 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
More informationUNIT4 BOOLEAN LOGIC. NOT Operator Operates on single variable. It gives the complement value of variable.
UNIT4 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?
More informationComputer 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
More informationPropositional 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
More informationBawar 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
More informationComputer 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
More informationCOMP 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
More informationCombinational 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
More informationELCT201: 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
More informationELCT201: 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
More informationDLD 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,
More informationChapter 3. GateLevel Minimization. Outlines
Chapter 3 GateLevel Minimization Introduction The Map Method FourVariable Map FiveVariable Map Outlines Product of Sums Simplification Don tcare Conditions NAND and NOR Implementation Other TwoLevel
More informationSYNERGY 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
More information1. 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
More informationDesigning Computer Systems Boolean Algebra
Designing Computer Systems Boolean Algebra 08:34:45 PM 4 June 2013 BA1 Scott & Linda Wills Designing Computer Systems Boolean Algebra Programmable computers can exhibit amazing complexity and generality.
More information2008 The McGrawHill Companies, Inc. All rights reserved.
28 The McGrawHill Companies, Inc. All rights reserved. 28 The McGrawHill Companies, Inc. All rights reserved. All or Nothing Gate Boolean Expression: A B = Y Truth Table (ee next slide) or AB = Y 28
More informationSimplification 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.
More informationNH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNITII 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
More informationPoints 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 SumofProducts (SOP),
More informationCircuit 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
More informationChapter 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
More informationCS470: 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, flipflops Functional bocks: Combinational, Sequential Instruction
More information4. Write a sumofproducts 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
More informationMenu. 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 ):
More informationExperiment 3: Logic Simplification
Module: Logic Design Name:... University no:.. Group no:. Lab Partner Name: Mr. Mohamed ElSaied Experiment : Logic Simplification Objective: How to implement and verify the operation of the logical functions
More informationLogic, 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
More informationBawar 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
More informationX 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
More informationCOMBINATIONAL 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
More informationLogic 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
More informationPropositional 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
More informationUNIT 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.
More informationQUESTION 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
More informationR.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
More informationGate 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 =
More informationDigital 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
More informationSpecifying 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
More information4 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
More informationSWITCHING 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
More informationOptimized 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
More informationCS 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)
More informationBoolean 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
More informationGateLevel Minimization
GateLevel 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
More informationENGINEERS 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
More informationChapter 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
More informationAn 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
More informationLecture (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
More informationLecture (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
More informationEE292: Fundamentals of ECE
EE292: Fundamentals of ECE Fall 2012 TTh 10:0011:15 SEB 1242 Lecture 22 121115 http://www.ee.unlv.edu/~b1morris/ee292/ 2 Outline Review Binary Number Representation Binary Arithmetic Combinatorial Logic
More informationBoolean 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
More informationInjntu.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 Kmap? Name it advantages and disadvantages. (3M) c) Distinguish between a halfadder
More informationBoolean 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
More informationTo 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
More information1. 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.
More informationDIGITAL SYSTEM DESIGN
DIGITAL SYSTEM DESIGN UNIT I: Introduction to Number Systems and Boolean Algebra Digital and Analog Basic Concepts, Some history of Digital SystemsIntroduction to number systems, Binary numbers, Number
More informationCS40S13: Functional Completeness
CS40S13: 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)
More information2.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
More informationLECTURE 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
More informationB.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
More informationLecture #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
More informationGateLevel Minimization
GateLevel 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
More informationChapter 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
More informationChapter 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
More informationLogic Gates and Boolean Algebra ENT263
Logic Gates and Boolean Algebra ENT263 Logic Gates and Boolean Algebra Now that we understand the concept of binary numbers, we will study ways of describing how systems using binary logic levels make
More information2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2
2.2 Set Operations 127 2.2 Set Operations Introduction Two, or more, sets can be combined in many different ways. For instance, starting with the set of mathematics majors at your school and the set of
More information