MultiLevel Logic Optimization Node Optimization 1 Simplification Represent
- Slides: 13
Multi-Level Logic Optimization - Node Optimization 1
Simplification • Represent each node in two level form • Use espresso to minimize each node • Several simplification procedures which vary only in the size of don’t care constructed – don’t care set empty – subset of don’t care 2
Simplification Don’t Care – External DC – Internal DC (derived from the structure) (1) Satisfiability DC (SDC) (2) Observability DC (ODC) 3
Satisfiability Don’t Care • Satisfiability DC (to all nodes) Ex: x = ab y = a’b’ f = x’y’+a x ab = x(ab)’+x’(ab) • Why? Expand the Boolean space of PI to include intermediate variables Bn Bn+ m n=2 m=1 111 010 b 000 100 x a In general, SDC = (yi fi’ + yi’ fi ) 4
Observability Don’t Care • Observability DC ( to certain intermediate node) f is sensitive to the value of x ( )’ f is not sensitive to the value of x x is observable at f if 0 (Note is a function of the inputs) 5
Example Ex: u = ab+xc’+x’b’ x = a’b+ac’ du ( dx )’ = ux ux’ + ux’’ u=ab+xc’+x’b’ x=a’b+ac’ abc ux = ab + c’ ux’ = ab + b’ du ( dx )’ = ux ux’ + ux’’ = (ab+c’b’) + a’bc (the ODC of x) 6
Observability Don’t Care • ODC relative to x is ODCx = fi output • Including the external DC ( + Dxi) fi output • In general, the complete DC is too large solutions: filter the DC => subset “support” filter 7
Standard Script of Mis. II sweep eliminate –l simplify eliminate –l sweep eliminate 5 simplify resub –a gkx –abt 30 constant propagation, remove buffer collapse; node has < 1000 cubes espresso for each node value > 5 algebraic div -a generate all kernel –b the best kernel inter -t value saved resub –a; sweep gcx –bt 30 -b the best cube -t the value saved resub –a; sweep gkx –abt 10 resub –a; sweep gcx –bt 10 resub –a; sweep ……. . 8
Incompleteness of Don’t Cares • Example z 1 z 0 B COMPARATOR N 2 x 2 A a 1 x 1 N 1 x 0 ADDER a 0 b 1 b 0 Z=01 a+b<3 Z=00 a+b=3 Z=10 a+b>3 9
Equivalence x 2 x 1 x 0 z 1 z 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 Input values 000, 001, and 010 are equivalent with respect to B. {000, 001, 010} forms an equivalence class. The other equivalent classes are: {011} and {100, 101, 110, 111} 10
Boolean Relation Formulation If x', x'' are input values indistinguishable from the outputs of B, they are interchangeable output values for A. a 1 a 0 b 1 b 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 x 2 x 1 x 0 {000, 001, 010} {000, 001, 010} {011} {100, 101, 110, 111} {100, 101, 110, 111} 11
Example The optimal implementation of the following relation R B 2 a b 0 0 0 1 1 0 a 0 b 0 00 1 10 1 01 x y 0 0, 0 1, 1 0 11 10 a 0 0 00 1 10 11 a 0 b 0 01 1 10 a 0 0 01 1 10 1 01 11 1 10 11 b b 12
Problems 1. How to find a multiple-output sub-network ? 2. How to utilize Boolean Relations for minimization ? – full set of Boolean Relation – subset of Boolean Relation 13
- Logic simplification
- Boolean algebra and logic simplification
- Constructive interference example
- Nodenext
- Reference node and non reference node
- Radial node angular node
- Reference node and non reference node
- Struct node int data struct node* next
- Combinational logic circuit vs sequential
- Combinational logic sequential logic
- First order logic vs propositional logic
- Cryptarithmetic problem logic+logic=prolog
- First order logic vs propositional logic
- Software project wbs example