Minterms A minterm is a product of all OR variables and it describes the x x f combination of ”1” and ”0” that 1 0 toghether makes the term to 0 0 0 0 adopt the value 1. 1 0 1 1 2 1 0 1 SoP-form with three minterms. 3 1 1 1 = ∑ = + + f m ( 1 , 2 , 3 ) x x x x x x 1 0 0 1 1 0 William Sandqvist william@kth.se
Minimization with Boolean algebra = ∑ = + + f m ( 1 , 2 , 3 ) x x x x x x OR 1 0 0 1 1 0 = + + = x x x ( x x ) x x f 1 0 0 1 0 1 0 = + + = 0 0 0 0 ( 1 ...) x x x 1 0 1 = + + = 1 0 1 1 x x x ( 1 x ) 1 0 1 0 2 1 0 1 = + + = x x x x x 1 0 1 1 0 3 1 1 1 = + + = x ( x x ) x 1 0 1 1 Simplification with = + x x As expected! boolean algebra 0 1 William Sandqvist william@kth.se
Maxterm A maxterm är en sum-factor of OR all variables and it describes x x f the combination of ”1” and ”0” 1 0 that toghether makes the sum 0 0 0 0 to adopt the value 0. 1 0 1 1 2 1 0 1 = ∏ = + f M ( 0 ) x x 0 1 3 1 1 1 This time we got the simple expression direct with the maxterm! William Sandqvist william@kth.se
Venn-diagram OR All OR, some of minterms the minterms In a Venn diagram, one can see that a function can be expressed in a variety of ways, but it is not easy to see what is optimal. Another question is also how to draw Venn diagrams for more than three variables?? William Sandqvist william@kth.se
Graphical minimization method x 0 x 0 0 1 0 1 x 1 x 1 OR m 0 m 1 0 1 0 0 m 2 m 3 1 1 x x f 1 1 1 0 0 0 0 0 + = + = m m x x x x 0 2 3 1 1 0 1 0 1 1 = + = x ( x x ) x 0 1 0 1 2 1 0 1 + = + = m m x x x x 1 1 3 0 1 0 3 1 1 1 = + = x ( x x ) x 1 0 1 0 = + f x x 1 0 William Sandqvist william@kth.se
Graphical minimization method x 0 0 1 OR x 1 x 0 1 0 0 x x f x 1 0 1 1 1 1 0 0 0 0 = + f x x 1 0 1 1 1 0 Make ”groups” two ones that are 2 1 0 1 "neighbors" (vertically or horizontally) 3 1 1 1 the minterms could then be reduced to "what they have in common". William Sandqvist william@kth.se
Gate functions Graphical form AND OR XOR x 0 x 0 x 0 0 1 0 1 0 1 x 1 x 1 x 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 x ⋅ x + + 1 x x x x x x 0 1 0 1 0 0 1 NAND NOR XNOR x 0 x 0 x 0 0 1 0 1 0 1 x 1 x 1 x 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 { } { } + ⋅ ⋅ + + x x dM x x x x dM x x x x x x 1 0 1 0 1 0 1 0 1 0 1 0 William Sandqvist william@kth.se
3D boolean numberspace The corners are coded with Gray-code . Between neighbor corners only one variable differs. William Sandqvist william@kth.se
Ex. 3.4 Cube representation = ∑ = f ( x , x , x ) m ( 0 , 2 , 3 , 4 , 6 ) 2 1 0 = + + + + x x x x x x x x x x x x x x x 1 0 2 2 1 0 2 1 0 2 1 0 2 1 0 This is the way to represent a function of three variables, on a 3D cube with Gray-coded corners. William Sandqvist william@kth.se
Ex. 3.4 minimization with cube x x x x 2 x 2 1 0 1 x 0 A surface is represented by a variable, a side of a product term with two variables, and a corner a minterm with three variables. Cube methods can be generalized to "Hyper Cubes" with any number of variables. William Sandqvist william@kth.se
Hypercubes A corner is a 0-dimension subspace, A side is a 1-dimension subspace, A surface is a 2-dimension subspace, A cube is a 3-dimension subspace … There are minimization methods for hypercubes and they can apply for any number of variables! The methods based on hypercubes are suited to computer algorithms. William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! William Sandqvist william@kth.se
Graycode is a mirrored binarycode One can easily construct a Gray code with an arbitrary number of bits needed for numbering the "corners" in "hypercubes" with! And so on … William Sandqvist william@kth.se
How do you draw a 3D-cube? You draw two 2D-cubes ( = squares), and then connects their corners. William Sandqvist william@kth.se
How do you draw a 3D-cube? You draw two 2D-cubes ( = squares), and then connects their corners. William Sandqvist william@kth.se
How do You draw a 4D-cube? You draw two 3D-cubes (=cubes), and then connects their corners. William Sandqvist william@kth.se
How do You draw a 4D-cube? You draw two 3D-cubes (=cubes), and then connects their corners. William Sandqvist william@kth.se
4D-cube in Paris William Sandqvist william@kth.se
4D-Donut ≡ 4D-hypercube can be represented by a torus, a donut. William Sandqvist william@kth.se
4D-cubes in USA William Sandqvist william@kth.se
3D-cube ⇒ 2D-map a b c b = 1 Gray-code → mirror b c 01 11 10 a 00 0 000 001 011 010 b = 0 1 100 101 111 110 William Sandqvist william@kth.se
Karnaugh-map Graphical method for minimization with "paper and pencil" minor Boolean functions? (For up to six variables) Maurice Karnaugh ( The Map for Synthesis of Combinational Logic Circuits, AIEE, Nov. 1953 ) William Sandqvist william@kth.se
A function of four variables a b c d. Truth Table with 11 ”1” and 5 ”0”. The function can be expressed in SoP-form with 11 minterms or in PoS-form with 5 maxterms. William Sandqvist william@kth.se
4D-cube ⇒ 2D-map The Karnaugh map is the truth table lined up in a different way. The frames are ordered in such way that only one bit changes between two vertical frames or horisontal frames. This order is called Gray-code . William Sandqvist william@kth.se
b c d Two "neighbors" The frames "5" and "13" are "neighbors" in the Karnaugh map ( but they are distant from each other in the truthtable ). They correspond to two minterms with four variables, and the figure shows how, with Boolean algebra, they can be reduced to one term with three variables. What the two frames have in common is that b = 1, c = 0 and d = 1; and the reduced term expresses just that. Everywhere in the Karnaugh map where one can find two ones that are "neighbors" (vertically or horizontally) the minterms could be reduced to "what they have in common". This is called a grouping . William Sandqvist william@kth.se
a d Four "neighbors" Frames "1" "3" "5" "7" is a group of four frames with "1" that are "neighbors" to each other. Here too, the four minterms could be reduced to a term that expresses what is common for the frames, namely that a = 0 and d = 1. Everywhere in Karnaugh map where one can find such groups of four ones such simplifications can be done, grouping of four . William Sandqvist william@kth.se
a Eight "neighbors" All groups of 2, 4, 8, (... 2 N ie. powers of 2) frames containing ones can be reduced to a term, with what they have in common, grouping of n . William Sandqvist william@kth.se
Recommend
More recommend