Download presentation
Presentation is loading. Please wait.
Published byJayson Watkins Modified over 9 years ago
1
Geometric interpretation & Cubes Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu www.testgroup.polito.it Lecture 3.2
2
2 3.2 Goal This lecture first introduces a geometric interpretation of Boolean Algebras, focusing, in particular, on the concept of K-cubes. It then presents several ways of representing K-cubes. Eventually some advanced operators on cubes are defined.
3
3 3.2 Prerequisites Lecture 3.1
4
4 3.2 Homework No particular homework is foreseen
5
5 3.2 Further readings Students interested in a deeper knowledge of advanced operators on cubes can refer, for instance, to: G.D. Hachtel, F. Somenzi: “Logic Synthesis and Verification Algorithms,” Kluwer Academic Publisher, Boston MA (USA), 1996
6
6 3.2 Outline Geometric interpretation of Boolean Algebras K-cubes representation Advanced operations on K-cubes.
7
7 3.2 Geometric interpretation The carrier B n of a Boolean Algebra can be seen as an n-dimensional space, where each generic element v B n (usually called a vertex), is represented by a vector of n coordinates, each B.
8
8 3.2 x z 00 10 1101 B = { 0, 1} B 2
9
9 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1} B 3
10
10 3.2 x y z B = { 0, 1 } B 4 w
11
11 3.2 K-cube A k-dimensional sub-space (or k-cube) S k B n is a set of 2 k vertices, in which n-k variables get the same constant value.
12
12 3.2 x z 00 10 11 01 0-cube = vertex B = { 0, 1 } B 2
13
13 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube = vertex
14
14 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube = edge
15
15 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube = face
16
16 3.2 B = { 0, 1 } B 4 2-cube = face x y z w
17
17 3.2 Remarks Not all the sub-sets of B n with cardinality 2 k are k-cubes.
18
18 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 An example of set of 2 2 vertices which is not a 2-cube
19
19 3.2 Remarks Not all the sub-sets of B n with cardinality 2 k are k-cubes The empty set is not a k-cube
20
20 3.2 Remarks Not all the sub-sets of B n with cardinality 2 k are k-cubes The empty set is not a k-cube The total # of different k-cubes is:
21
21 3.2 Examples n = 3 k = 2 : 2-cubes : faces N = 3! 2 / 1! 2! = 6 n = 3 k = 1 : 1-cubes : edges N = 3! 4 / 2! 1! = 12 n = 3 k = 0 : 0-cubes : vertices N = 3! 8 / 3! 0! = 8
22
22 3.2 Outline Geometric interpretation of Boolean Algebras K-cubes representation Advanced operations on K-cubes.
23
23 3.2 K-cubes representation k-cube
24
24 3.2 K-cubes representation Algebraic notation Cubic notation k-cube
25
25 3.2 K-cubes representation Algebraic notation Cubic notation Product term Sum term k-cube
26
26 3.2 K-cubes representation Cubic notation k-cube list of n values { 0, 1, – }, one for each coordinate
27
27 3.2 In such a list there will be: n-k values set at 0, or at 1, and in particular: at 0 if the corresponding coordinate gets the value 0 in all the vertices of the cube at 1 if the corresponding coordinate gets the value 1 in all the vertices of the cube – k values set at a particular value, conventionally represented by “–” and read “don’t care” (they correspond to the k coordinates which assume all the 2 k possible combinations of values). Cubic notation (cont’d)
28
28 3.2 x z 00 10 11 01 0-cube in cubic notation B = { 0, 1 } B 2 10
29
29 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube in cubic notation 111
30
30 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube in cubic notation 10101010
31
31 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube in cubic notation 0000
32
32 3.2 B = { 0, 1 } B 4 2-cube in cubic notation x y z w 10101010
33
33 3.2 Cubes representation Algebraic notation k-cube list of n-k literals, one for each variable that gets the same value in all the vertices of the cube
34
34 3.2 Cubes representation Algebraic notation Product term k-cube
35
35 3.2 Cubes representation Algebraic notation Product term k-cube Each k-cube is represented by a logic product of n-k variables where: variables assuming constantly the 1 value are assertedvariables assuming constantly the 1 value are asserted variables assuming constantly the 0 value are complemented.variables assuming constantly the 0 value are complemented.
36
36 3.2 x z 00 10 11 01 0-cube by product terms B = { 0, 1 } B 2 x z’
37
37 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube by product terms x y z
38
38 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube by product terms x z’
39
39 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube by product terms y’y’y’y’
40
40 3.2 2-cube by product terms B = { 0, 1 } B 4 x y z w x z ’
41
41 3.2 Remark The universe set, i.e., the n-cube, which, according to the previous rules should be represented by “no” variable, is usually represented by the symbol 1.
42
42 3.2 f ( x 1, x 2, x 3 ) 10 - - 1 - 110 From cubic notation to algebraic notation by product terms
43
43 3.2 f ( x 1, x 2, x 3 ) 10 - x 1 x 2 ’ - 1 - x 2 110 x 1 x 2 x 3 ’ From cubic notation to algebraic notation by product terms
44
44 3.2 f ( x 1, x 2, x 3 ) x 1 x 2 ’ x 2 x 1 x 2 x 3 ’ From algebraic notation by product terms to cubic notation
45
45 3.2 f ( x 1, x 2, x 3 ) x 1 x 2 ’ 10 - x 2 - 1 - x 1 x 2 x 3 ’ 110 From algebraic notation by product terms to cubic notation
46
46 3.2 Minterm A minterm (or fundamental product) is the representation of a 0-cube by a product term. k-cube representation 1 0 1x y ’ z minterm 0 1 1x’ y z minterm 0 0x’ z’ not a minterm 1 y not a minterm
47
47 3.2 Cubes representation Algebraic notation Sum term k-cube
48
48 3.2 Cubes representation Algebraic notation Sum term k-cube Each k-cube is represented by a logic sum of n-k variables where: variables assuming constantly the 1 value are complementedvariables assuming constantly the 1 value are complemented variables assuming constantly the 0 value are asserted.variables assuming constantly the 0 value are asserted.
49
49 3.2 x z 00 10 11 01 0-cube by sum terms B = { 0, 1 } B 2 x’ + y
50
50 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 0-cube by sum terms x’ + y ’ + z’
51
51 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 1-cube by sum terms x’ + z
52
52 3.2 x y z 000 111 100 101 001 010 011 110 B = { 0, 1 } B 3 2-cube by sum terms y
53
53 3.2 2-cube by sum terms B = { 0, 1 } B 4 x y z w x ’ + z
54
54 3.2 Remark The universe set is usually represented, in this notation, by the symbol 0.
55
55 3.2 Maxterm A maxterm (or fundamental sum) is the representation of a 0-cube by a sum term. k-cube representation 1 0 1x’ + y + z’ maxterm 0 1 1x + y ’ + z’ maxterm 0 0x + z not a maxterm 1 y ’ not a maxterm
56
56 3.2 Outline Geometric interpretation of Boolean Algebras K-cubes representation Advanced operations on K-cubes.
57
57 3.2 Several advanced operators have been defined on k-cubes, including: Splitting Coverage Intersection Distance Union Complement Cofactor Consensus … Advanced operations on K-cubes
58
58 3.2 Note Since most of them are of interest for peculiar applications, only (e.g., advanced techniques for logic minimization), they are not fatherly dealt with in the present course. Just a couple of them are going to be presented here. Interested students can refer to the book suggested in slide 5 for a deeper analysis.
59
59 3.2 Splitting Splitting allows us to find all the vertices of a given k-cubes. Algorithm Assign each “–” all the possible combinations of the related input variable, until no “–” are present.
60
60 3.2 Example –11–0
61
61 3.2 Example –11–0 111–0 011–0
62
62 3.2 Example –11–0 11110 11100 01110 01100 111–0 011–0
63
63 3.2 Coverage We have to distinguish between: Coverage among cubes Coverage among sets of cubes
64
64 3.2 Coverage among cubes A cube a covers (or contains) a cube b, and we denote it as: a b Iff all the vertices of b are vertices of a as well. In such a case we say that b implies a or that a is implied by b.
65
65 3.2 Example a = - 0 - b = - 0 0 a b 000 111 100 101 001 010 110 011 b a aa a
66
66 3.2 “Working” Definition A cube a covers a cube b, iff the cube b can be derived from a by replacing, in a, one (or more) “–” by 0 or 1. Examples a = – 0 – b = – 0 0 a b a = 1 0 – 1 b = – 0 1 1 a b
67
67 3.2 Coverage among sets of cubes A set of cubes C covers a cube a iff each vertex of a is a vertex of at least one of the cubes of C. Example C = { 0–1, 10– } a = –01 ?
68
68 3.2 Solution We first split the vertices of a : 001, covered by C[1] = 0–1 101, covered by C[2] = 10– As a consequence C = { 0–1, 10– } a = –01 Even if, when considered individually C[1] a and C[2] a
69
69 3.2 000 111 100 101 001 010 110 011 C[1] C[2] a C[1] = 0–1 C[2] = 10– a = – 0 1
70
70 3.2 Hamming distance between cubes We define Hamming distance between 2 cubes a and b, and we denote it as D (a, b) the # of coordinates of the 2 cubes such that: a[i] = 0 and b[i] = 1 or a[i] = 1 and b[i] = 0
71
71 3.2 Properties Two cubes have a null distance iff they share one or more vertices Two cubes having unit distance are usually referred to as being logically adjacent.
72
72 3.2 Example y z 000 111 100 101 001 010 011 x 110
73
73 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 -
74
74 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0
75
75 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0
76
76 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0 c c = 1 1 1
77
77 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0 c c = 1 1 1D(a, c) = 1
78
78 3.2 Example y z 000 111 100 101 001 010 011 x 110 a a = - 0 - b b = 1 - 0D(a, b) = 0 c c = 1 1 1D(a, c) = 1 xy z 00011110 0 1
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.