Professional Documents
Culture Documents
-- Introduction
ENEE 644
Multilevel Logic vs. Two-Level Logic TwoExample: Let F=ab+ab, define G and H as follows:
if F is true, then G=cd+ad, H=cd+ad+e(f+b), else G=e(f+b), H=(cd+ad)e(f+b).
MultiMulti-Level Implementation:
G=F(cd+ad)+Fe(f+b) H=F(cd+ad+e(f+b))+F(cd+ad)e(f+b)
c d a d f b
ENEE 644 3
4-level 5-level
F F e
Multilevel Logic vs. Two-Level Logic TwoExample: Let F=ab+ab, define G and H as follows:
if F is true, then G=cd+ad, H=cd+ad+e(f+b), else G=e(f+b), H=(cd+ad)e(f+b). G = F(cd+ad)+Fe(f+b) = (ab + ab)(cd + ad) + (ab + ab)(e)(f + b) = abcd + abd + acdb + e(f+b)(a+b)(a +b) = abcd + abd + acdb + (efa + efb + eba)(a+b) = abcd + abd + acdb + efab + efba + eba THIS IS MORE COMPLICATED TO IMPLEMENT
ENEE 644
MultiMulti-level:
Any number of gates between a primary input and a primary output. Most circuits in real life are multilevel (e.g. standard cells, FPGA). Smaller, less power, and (in many cases) faster. Exact optimization methods: few, high complexity, impractical. Heuristics.
ENEE 644
Optimization Objectives
1. Area: occupied by the logic gates and interconnect, e.g.
measured by one literal = one transistor in technology independent optimization.
3. Power Consumption
Optimization is performed while simultaneously satisfying upper/lower bound constraints placed on these physical quantities.
ENEE 644
Technology Independent
A design is technology independent when the formula (function, system) has no connection with the building blocks in the implementation. Advantage: cost can be simply estimated by the number of logic
symbols (I.e. one literal = one transistor), delay is the length of the critical path, better for local optimization.
Example: Full Adder z(x,y,c) = XOR(x,y,c) = xyc+xyc+xyc+xyc cnew(x,y,c) = Majority(x,y,c) = xy+(x+y)c The literal count is 12+5=17 The critical path delay is 3: xpx+yp(x+y)cpcnew xpx+yp(x+y)cp
ENEE 644 8
Technology Dependent
A design is technology dependent if the formula (function, circuit, system) is implemented by one or more logic gates in a pre-designed preset of gates (called technology library or cell library). library). Advantage: gates in the cell library
have a highly optimized, pre-defined prepath to silicon, so that the area and delay parameters are known and accurate.
signal formula gate transi stors
g a b e z d h f j cnew
NAND NOT NOR NOR XOR NOT NAND NOT NOR NOT
4 2 4 4 8 2 4 2 4 2
9
Difficulty:
Multilevel gives more design freedom and increases the design complexity Technology dependent/independent views
Models:
Algebraic forms Boolean networks
Easy to manipulate and minimize. Algorithms available (e.g. AND, OR, TAUTOLOGY). TwoTwo-level theory applies.
Disadvantages:
Not representative of logic complexity. For example
f=ad+ae+bd+be+cd+ce f=abc+de which differ in their implementation by an inverter.
Good estimator of logic implementation complexity Implicitly Imply Multi-Level Computation (Computation Multiusing tree)
Disadvantages:
Not many algorithms available for manipulation Not canonical: ab+c(a+b)=bc+a(b+c)=ac+b(a+c)
ENEE 644 12
Factored forms: x, y, abc, ab+c, ((a+b)cd+e)(a+b)+e. However, (a+b)c is not, although it equals abc. This is because internal complement in not allowed
ENEE 644 13
Factoring Tree
Factored forms can be graphically represented as labeled trees, called factoring trees, in which trees, each internal node including the root is labeled with either + or , and each leaf has a label of either a variable or its complement.
+
Example: ((a+b)cd+e)(a+b)+e
+
e b
e a
c d b
14
a
ENEE 644
Equivalent Factorizations
Two factored forms are equivalent if they represent the same logic function.
Example: a(b+c)+bc and ab+c(a+b)
Two factored forms are syntactically equivalent if their factoring tree are isomorphic. (WHAT IS ISOMOSRPHIC?)
Example: (a+b)(c+d)e and a(b+c)+bc and
+
(c+d)e(a+b) ab+c(a+b)
+
a b
+
b c
ENEE 644
c a b c
b
15
Maximal Factorizations
A factored form is maximally factored if
For every sum of products, there are no two syntactically equivalent factors in the products; For every product of sums, there are no two syntactically equivalent factors in the sums.
Example:
ab+ac is not maximally factored, a(b+c) is. (a+b)(a+c) is not maximally factored, a+bc is.
+
a b a
ENEE 644
16
A factored form is optimum if no other equivalent factored form has fewer literals. Example:
ab+ac+bc is not optimum (ab+ac+bc = ab+ac).
ENEE 644
17
ENEE 644
18
ENEE 644
19
ENEE 644
20
The support of an expression f, supp(f), is the set of variables that f explicitly depends on. Two expressions f and g are said to be orthogonal if supp(f)supp(g)=J, supp(f)supp(g)=J denoted by fBg.
Example: a+b B c+d
ENEE 644 21
(algebraic) (algebraic)
(Boolean)
22
Value of a Factorization
Given an algebraic factorization F=G1G2+R, its +R, factorization value is given by:
fact_val(F,G2) = lits(F)-(lits(G1)+lits(G2)+lits(R)) lits(F)-
where lits(F) and cubes(F) are the number of literals and cubes in SOP form of F respectively, G1,G2, and R are algebraic expressions.
F = ae+af+ag+bce+bcf+bcg+bde+bdf+bdg can be expressed in the form F = (a+b(c+d))(e+f+g), which requires 7 (a+b(c+d))(e+f+g), literals, rather than 24, a save of 17 literals. If G1=(a+bc+bd) and G2=(e+f+g), then R= and fact_val(F,G2) = =(e+f+g), R= 2v3+2v5=16. Where the extra literal saving comes from? 3+2v5=16.
ENEE 644 23