Download presentation
Presentation is loading. Please wait.
Published byRalph Marshall Modified over 9 years ago
1
LOGIC CIRCUITLOGIC CIRCUIT
2
Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations of what is possible for a digital computer.
3
Logic Gates Digital circuits are hardware components that manipulate binary information. Logic gates are implemented using transistors and integrated circuits. Each basic circuit is referred to as a logic gate.
4
Logic Gates All basic logic gates have the ability to accept either one or two input signals (depending upon the type of gate) and generate one output signal.
5
Binary Logic The binary logic system is one of a class of mathematical systems referred to as Boolean Algebra. In digital electronics, Boolean variables 0 and 1 correspond to binary 0 and 1. Input and Output signals are binary. binary: – always in one of two possible states; – typically treated as: » On / Off (electrically) » 1 / 0 » True / False Binary logic deals with binary variables
6
Review of Boolean Algebra The Boolean algebra is an algebra dealing with binary variables and logic operations. We use symbols to represent Boolean variables. The variables are designated by letters of the alphabet. E.g.: A, B, C, X, Y, Z. A Boolean expression is an algebraic expression formed by using binary variables, the logic operation symbols.
7
Logic Gates Symbols Inputs and outputs Gates have two or more inputs, except a NOT gate which has only one input. All gates have only one output. Usually the letters A, B, C and so on are used to label inputs, and Q is used to label the output. On this page the inputs are shown on the left and the output on the right. The inverting circle (o) Some gate symbols have a circle on their output which means that their function includes inverting of the output. It is equivalent to feeding the output through a NOT gate. For example the NAND (Not AND) gate symbol shown on the right is the same as an AND gate symbol but with the addition of an inverting circle on the output.
8
Basic logic gates NOT AND OR NAND NOR XOR
9
Truth Table A truth table is a good way to show the function of a logic gate. It shows the output states for every possible combination of input states. The symbols 0 (false) and 1 (true) are usually used in truth tables.
10
Logic Gate: NOT The NOT gate is also known as an inverter, simply because it changes the input to its opposite (inverts it). The NOT gate accepts only one input and the output is the opposite of the input. A common way of using the NOT gate is to simply attach the circle to the front of another gate. This simplifies the circuit drawing and simply says: "Invert the output from this gate."
11
Logic Gate: AND The AND gate requires two inputs and has one output. The AND gate only produces an output of 1 when BOTH the inputs are a 1, otherwise the output is 0.
12
Logic Gate: OR The OR gate requires two inputs and has one output. The OR gate only produces an output of 1 when AT LEAST ONE inputs is a 1, otherwise the output is 0.
13
Logic Gate: NAND This is an AND gate with the output inverted, as shown by the 'o' on the output. The output is true if input A AND input B are NOT both true: Q = NOT (A AND B) A NAND gate can have two or more inputs, its output is true if NOT all inputs are true.
14
Logic Gate: NOR This is an OR gate with the output inverted, as shown by the 'o' on the output. The output Q is true if NOT inputs A OR B are true: Q = NOT (A OR B) A NOR gate can have two or more inputs, its output is true if no inputs are true.
15
Logic Gate: XOR The output Q is true if either input A is true OR input B is true, but not when both of them are true: Q = (A AND NOT B) OR (B AND NOT A) This is like an OR gate but excluding both inputs being true. The output is true if inputs A and B are DIFFERENT. EX-OR gates can only have 2 inputs.
16
Logic Gate: XNOR This is an EX-OR gate with the output inverted, as shown by the 'o' on the output. The output Q is true if inputs A and B are the SAME (both true or both false): Q = (A AND B) OR (NOT A AND NOT B) EX-NOR gates can only have 2 inputs.
17
Logic Circuit Design
18
Logic Circuit Design Example 1 Find the Boolean expressions output of the following circuit: Answer: (x+y)y
19
Logic Circuit Design Example 2 Find the Boolean expressions output of the following circuit: Answer: xy _ _ ___ ___
20
Logic Circuit Design Example 3 Draw the circuits for the following Boolean algebraic expressions: x+y __ __ x+yx+y x
21
Logic Circuit Design Example 4 Draw the circuits for the following Boolean algebraic expressions: x+yx+y (x+y)x(x+y)x x+yx+y (x+y)x(x+y)x
22
Circuit-to-Truth Table Example OR A Y NOT AND B C 2 # of Inputs = # of Combinations 2 3 = 8 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 A B C Y
23
OR A Y NOT AND B C A B A C A = A B + A C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 A B C Y 0 0 0 0 0 1 1 } 1 1 } Circuit-to-Truth Table Example
24
BOOLEAN ALGEBRA
25
LAWS OF BOOLEAN ALGEBRA The next aspect of Boolean algebra is that of laws or properties Laws or rules for Boolean Algebra expressions have been invented to help reduce the number of logic gates needed to perform a particular logic operation resulting in a list of functions or theorems known commonly as the Laws of Boolean. As with many kinds of algebra, the principal laws take the form of equations between terms built up from variables using the operations of the algebra. Such an equation is deemed a law or identity just when both sides have the same value for all values of the variables, equivalently when the two terms denote the same operation.
26
Basic Identities of Boolean Algebra 1.X + 0 = X 2.X. 1 = X 3.X + 1 = 1 4.X. 0 = 0 5.X + X = X 6. X. X = X 7.X + X = 1 8.X. X = 0 9.X = X
27
Commutative Associative
28
Simplification
30
Distributive
31
DeMorgan’s
32
Boolean & Truth Table Each Boolean expression can be specified by a truth table which lists all possible combinations of the values of all variables in the expression.
33
Proof using Truth Table Truth Tables can be used to prove that two Boolean expressions are equal. If the two expressions have the same value for all possible combinations of input variables, they are equal. For example, prove the following Boolean expression using truth table:
34
The truth table for the expressions will look like below:
35
Another example is proving the Distributive Law using truth table: X(Y + Z) = XY + XZ
36
PRACTICE 1. Demonstrate by means of truth tables the validities of the following identities: a. (XYZ)’ = X’ + Y’ + Z’ b. X + YZ = (X + Y)(X + Z) c. X’Y + Y’Z + XZ’ = XY’ + YZ’ + X’Z 2. Prove the following identity of each of the following Boolean equations using algebraic manipulation: a. A’B + B’C’ + AB + B’C = 1 b. Y + X’Z + XY’ = X + Y + Z c. AB + BC’D’ + A’BC + C’D = B + C’D
37
KARNAUGH MAP
38
Circuit Minimization Algebraic manipulations can be used to simplify Boolean expressions – As we've seen, this process is not always easy Karnaugh maps (K-maps) provide an easy and visual technique for finding the minimum cost Sum-of-Product (SOP) or Product-of- Sum (POS) form for a Boolean expression.
39
Canonical & Standard Forms We need to consider formal techniques for the simplification of Boolean functions. – Identical functions will have exactly the same canonical form. – Minterms and Maxterms – Sum-of-Minterms and Product-of- Maxterms – Product and Sum terms – Sum-of-Products (SOP) and Product-of-Sums (POS)
40
Definition Literal: A variable or its complement Product term: literals connected by * Sum term: literals connected by + Minterm: a product term in which all the variables appear exactly once, either complemented or uncomplemented Maxterm: a sum term in which all the variables appear exactly once, either complemented or uncomplemented
41
Forms of Boolean Expressions Sum-of-products (SOP) – First the product (AND) terms are formed then these are summed (OR) – E.g: ABC + DEF + GHI Product-of-sum (POS) – First the sum (OR) terms are formed then the products are taken (AND) – E.g: (A+B+C) (D+E+F) (G+H+I)
42
Minterm Represents exactly one combination in the truth table. Denoted by m j, where j is the decimal equivalent of the minterm’s corresponding binary combination (b j ). A variable in m j is complemented if its value in b j is 0, otherwise is uncomplemented. Example: Assume 3 variables (A,B,C), and j=3. Then, b j = 011 and its corresponding minterm is denoted by m j = A’BC
43
Maxterm Represents exactly one combination in the truth table. Denoted by M j, where j is the decimal equivalent of the maxterm’s corresponding binary combination (b j ). A variable in M j is complemented if its value in b j is 1, otherwise is uncomplemented. Example: Assume 3 variables (A,B,C), and j=3. Then, b j = 011 and its corresponding maxterm is denoted by M j = A+B’+C’
44
Truth Table notation for Minterms and Maxterms Minterms and Maxterms are easy to denote using a truth table. Example: Assume 3 variables x,y,z (order is fixed)
45
Minterms and Maxterms are easy to denote using a truth table. Example: Assume 3 variables x,y,z (order is fixed) xyzMintermMaxterm 000 x’y’z’ = m 0 x+y+z = M 0 001 x’y’z = m 1 x+y+z’ = M 1 010 x’yz’ = m 2 x+y’+z = M 2 011 x’yz = m 3 x+y’+z’= M 3 100 xy’z’ = m 4 x’+y+z = M 4 101 xy’z = m 5 x’+y+z’ = M 5 110 xyz’ = m 6 x’+y’+z = M 6 111 xyz = m 7 x’+y’+z’ = M 7 Truth Table notation for Minterms and Maxterms
46
Canonical Form (Unique) Any Boolean function F( ) can be expressed as a unique sum of minterms and a unique product of maxterms (under a fixed variable ordering). In other words, every function F() has two canonical forms: – Canonical Sum-Of-Products (sum of minterms) – Canonical Product-Of-Sums (product of maxterms) Canonical Sum-Of-Products: The minterms included are those m j such that F( ) = 1 in row j of the truth table for F( ). Canonical Product-Of-Sums: The maxterms included are those M j such that F( ) = 0 in row j of the truth table for F( ).
47
Example: Truth table for f 1 (a,b,c) at right The canonical sum-of-products form for f 1 is: f 1 (a,b,c) = m 1 + m 2 + m 4 + m 6 = a’b’c + a’bc’ + ab’c’ + abc’ The canonical product-of-sums form for f 1 is: f 1 (a,b,c) = M 0 M 3 M 5 M 7 = (a+b+c)(a+b’+c’) (a’+b+c’)(a’+b’+c’). Observe that: m j = M j ’ abc f1f1f1f1 0000 0011 0101 0110 1001 1010 1101 1110
48
Notation: ∑ and ∏ f 1 (a,b,c) = ∑ m(1,2,4,6), where ∑ indicates that this is a sum-of- products form, and m(1,2,4,6) indicates that the minterms to be included are m 1, m 2, m 4, and m 6. f 1 (a,b,c) = ∏ M(0,3,5,7), where ∏ indicates that this is a product-of- sums form, and M(0,3,5,7) indicates that the maxterms to be included are M 0, M 3, M 5, and M 7. Since m j = M j ’ for any j, ∑ m(1,2,4,6) = ∏ M(0,3,5,7) = f 1 (a,b,c)
49
Conversion Between Canonical Forms Replace ∑ with ∏ (or vice versa) and replace those j’s that appeared in the original form with those that do not. Example: f 1 (a,b,c)= a’b’c + a’bc’ + ab’c’ + abc’ = m 1 + m 2 + m 4 + m 6 = ∑(1,2,4,6) = ∏(0,3,5,7) = (a+b+c)(a+b’+c’)(a’+b+c’)(a’+b’+c’)
50
Standard Forms (NOT Unique) Standard forms are “like” canonical forms, except that not all variables need appear in the individual product (SOP) or sum (POS) terms. Example: f 1 (a,b,c) = a’b’c + bc’ + ac’ is a standard sum-of-products form f 1 (a,b,c) = (a+b+c)(b’+c’)(a’+c’) is a standard product-of-sums form.
51
Karnaugh Maps (K-Map) Karnaugh maps (K-maps) are graphical representations of boolean functions. It is a simplification tool for managing Boolean algebraic expressions. Complex boolean function can be simplified by using boolean algebra but it lacks specific rules and becomes tedious sometimes. The map method provides a simple and straightforward method. One map cell corresponds to a row in the truth table. Also, one map cell corresponds to a minterm or a maxterm in the boolean expression. Multiple-cell areas of the map correspond to standard terms.
52
B C A 00011110 0m0m0 m1m1 m3m3 m2m2 1m4m4 m5m5 m7m7 m6m6 B A 01 0m0m0 m1m1 1m2m2 m3m3 C D A B 00011110 00m0m0 m1m1 m3m3 m2m2 01m4m4 m5m5 m7m7 m6m6 11m 12 m 13 m 15 m 14 10m8m8 m9m9 m 11 m 10 K-maps in Various Sizes
53
The K-Map uses the following rules for simplification of expressions by grouping together adjacent cells containing ones: 1. Groups may not include any cell containing a zero Karnaugh Maps – Rules of Simplification
54
2. Groups may be horizontal or vertical, but not diagonal. Karnaugh Maps – Rules of Simplification
55
3. Groups must contain 1, 2, 4, 8, or in general 2 n cells. That is if n = 1, a group will contain two 1's since 2 1 = 2. If n = 2, a group will contain four 1's since 2 2 = 4.
56
4. Each group should be as large as possible. Karnaugh Maps – Rules of Simplification
57
6. Groups may overlap. Karnaugh Maps – Rules of Simplification
58
7. Groups may wrap around the table. The leftmost cell in a row may be grouped with the rightmost cell and the top cell in a column may be grouped with the bottom cell. Karnaugh Maps – Rules of Simplification
59
8. There should be as few groups as possible, as long as this does not contradict any of the previous rules. Karnaugh Maps – Rules of Simplification
60
1.No zeros allowed. 2.No diagonals. 3.Only power of 2 number of cells in each group. 4.Groups should be as large as possible. 5.Every one must be in at least one group. 6.Overlapping allowed. 7.Wrap around allowed. 8.Fewest number of groups possible Karnaugh Maps – Rules of Simplification SUMMARY
61
Two-Variable Map m3m3m3m3 m2m2m2m2 1 m1m1m1m1 m0m0m0m0 0 10 A B 01 2 3 NOTE: ordering of variables is IMPORTANT for f(A, B), A is the row, B is the column. Cell 0 represents A’B’; Cell 1 represents A’B; etc. If a minterm is present in the function, then a 1 is placed in the corresponding cell. m3m3m3m3 m1m1m1m11 m2m2m2m2 m0m0m0m00 10 B A 02 1 3 OR
62
Any two adjacent cells in the map differ by ONLY one variable, which appears complemented in one cell and uncomplemented in the other. Example: m 0 (=x 1 ’x 2 ’) is adjacent to m 1 (=x 1 ’x 2 ) and m 2 (=x 1 x 2 ’) but NOT m 3 (=x 1 x 2 )
63
f(x 1,x 2 ) = x 1 ’x 2 ’+ x 1 ’x 2 + x 1 x 2 ’ = m 0 + m 1 + m 2 = x 1 ’ + x 2 ’ 1s placed in K-map for specified minterms m 0, m 1, m 2 Grouping (OR-ing) of 1’s allows simplification. What (simpler) function is represented by each dashed rectangle? – x 1 ’ = m 0 + m 1 – x 2 ’ = m 0 + m 2 Note m 0 covered twice x1x1x1x101 011 110 x2x2 01 23 2-Variable Map - Example
64
f(x1,x2) = m(0,1,3) Canonical SOP: – f = x1'x2'+x1'x2+x1x2 = x1'x2'+x1'x2+x1x2+x1'x2 = x1'+x2 x1x2F 001 011 100 111 x2 x1 01 011 101 minimum form: f = x1'+x2 2-Variable Karnaugh Map
65
m6m6m6m6 m7m7m7m7 m5m5m5m5 m4m4m4m41 m2m2m2m2 m3m3m3m3 m1m1m1m1 m0m0m0m0010110100yz x 0132 4576 Note: variable ordering is (x,y,z); yz specifies column, x specifies row. Each cell is adjacent to three other cells (left or right or top or bottom or edge wrap) 3-Variable Karnaugh Map
66
The types of structures that are either minterm or are generated by repeated application of the minimization theorem on a three variable map are shown at right. Groups of 1, 2, 4, 8 are possible. minterm group of 2 terms group of 4 terms
67
f(A,B,C) = m(1,2,6,7) Minimum SOP is f = A B + B C' + A' B' C B C A 00011110 00101 10011 3-Variable Karnaugh Map
68
More 3 Variable K-Maps B C A 00011110 00011 11100 B C A 00011110 01111 10011 A' B + A B'(A B) A' + B f =
69
B C A 00011110 00110 11001 B C A 00011110 01001 11011 A' C + A C'(A C) C' + A B f =
70
Four-Variable Karnaugh Maps Top cells are adjacent to bottom cells. Left-edge cells are adjacent to right-edge cells. Note variable ordering (WXYZ). m 10 m 11 m9m9m9m9 m8m8m8m8 10 m 14 m 15 m 13 m 12 11 m6m6m6m6 m7m7m7m7 m5m5m5m5 m4m4m4m4 01 m2m2m2m2 m3m3m3m3 m1m1m1m1 m0m0m0m0 00 10 10 11 11 01 01 00 00 WX YZ
71
One square represents a minterm of 4 literals. A rectangle of 2 adjacent squares represents a product term of 3 literals. A rectangle of 4 squares represents a product term of 2 literals. A rectangle of 8 squares represents a product term of 1 literal. A rectangle of 16 squares produces a function that is equal to logic 1. Four-variable Map Simplification
72
Example: Simplify the following Boolean function (A,B,C,D) = ∑m(0,1,2,4,5,7,8,9,10,12,13). First put the function g( ) into the map, and then group as many 1s as possible. cd ab 1 11 11 1 11 1 11 g(A,B,C,D) = c’+b’d’+a’bd 111 11 111 111 Four-variable Karnaugh Map
73
– f(A,B,C,D) = m(0,1,2,3,6,8,9,11,13,14) – f = A C' D + B C D' + B' C ' + B' D + A'B' C D A B 00011110 001111 010001 110101 101110 Four-variable Karnaugh Map
74
– f(A,B,C,D) = m(0,1,2,5,6,7,8,9,10,13,15) – f = B D + A' B C + B' D' + B' C'or – f = B D + A' B C + B' D' + C' D(there are 2 more) C D A B 00011110 001101 010111 110110 101101 These are not essential! Four-variable Karnaugh Map
75
Many times there are incompletely specified conditions – Valuations that can never occur, or for which we “don’t care what the device does” They are denoted with ‘X’. Each ‘X’ may be arbitrarily assigned the value 0 or 1 in an implementation. Don’t cares can be used to further simplify a function Don't care situations are often called incompletely specified functions Don’t Care Conditions
76
f(A,B,C,D) = m(1,5,8,9,10) + d(3,7,11,15) – f = A B' + A' D C D A B 00011110 0001X0 0101X0 1100X0 1011X1 Example Using Don't Cares
77
Example: Simplify the function f(a,b,c,d) whose K-map is shown at the right. f = a’c’d+ab’+cd’+a’bc’ or f = a’c’d+ab’+cd’+a’bd’ xx11 xx00 10111010 xx11 xx00 10111010 0101 1101 00xx 11xx ab cd 00 01 11 10 00 01 11 10
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.