Presentation is loading. Please wait.

Presentation is loading. Please wait.

State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.

Similar presentations


Presentation on theme: "State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization."— Presentation transcript:

1 State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization Dr. Yaser Khalifa Electrical and Computer Engineering Department State University of New York at New Paltz

2 Irredundant The IRREDUNDANT procedure generates an ISOP with as few products as possible from the given set of PIs.

3 Let f = {c 1, c 2, c 3, …, c n } be the given set of PIs. Partition the PIs of F into three sets: –Relatively essential set: –Totally redundant set: –Partially redundant set: Find a subset of RP that together with ER covers F. For each c i in the RP, find the set H(c i ) of minimum sets MS RP, such that c i (RP – MS) ER

4 Algorithm Let f = {c 1, c 2, c 3, …, c n } be the given set of PIs. Partition the PIs of F into three sets: –Relatively essential set: –Totally redundant set: –Partially redundant set: Find a subset of RP that together with ER covers F. For each c i in the RP, find the set H(c i ) of minimum sets MS RP, such that c i (RP – MS) ER

5 Why Multi-Level Two-level may need a large number of product terms. Some primary outputs may have huge fanouts. Example XOR logic –Number of product terms of n inputs is exponential in n in 2-level –Number of product terms of n inputs is linear in n in Multi-level

6 Multi-level logic optimzation is the process of trying to reduce the cost of the representations for the given logic functions. The cost criteria for optimization can be: –Number of literals (targeting areas of the circuits) –Numbers of levels (targeting delays in the circuits) –Power –wireability

7 If the specification is given in sum of product forms, the first step is to make it more compact by introducing more logic levels in the representation. This is typially done by “factoring a logic expression” and “dividing a logic expression with another logic expression” For example, acf + bcf + adf + bdf + ef + acg + bcg + adg + bdg + eg is an optimum 2-level representation. There are 28 literals. It can be factored to (( a + b)(c + d) + e)(f + g) which needs only 7 literals.

8 Optimization Methods Boolean Methods: Optimization methods that consider logic functions and their representations. Algebric Methods: Optimization methods that consider only logic representations. Algebric methods treat logic functions as polynomial expressions. Boolean methods recognize Boolean algebra rules that can transform one logic representation to another.

9 Algebric Methods We use graph model called Boolean network to represent a technology independent multi level circuit structure. Primary input nodes: represent the primary input to the circuit Primary output nodes: nodes that have no outing edges. Intermediate nodes: internal structure of the circuit.

10 Each intermediate node is associated with a Boolean function called the local function of a node. All nodes are associated with Boolean variables. We treat a node and a variable associated with the node interchangeably. An edge from node n i to node n j represents that the local function of node n j directly depends on n i. Since Boolean networks are not bound to any particular circuit technology, it is very generic and is widely used in various logic systhesis applications.

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30 Optimization Methods Boolean Methods: Optimization methods that consider logic functions and their representations. Algebric Methods: Optimization methods that consider only logic representations. Algebric methods treat logic functions as polynomial expressions. Boolean methods recognize Boolean algebra rules that can transform one logic representation to another.

31

32

33 There are several ways to represent a local function of a node: –SOP expression is the most popular form to manipulate –Factored form is a good measurement for area estimation by counting literals. But manipulation is difficult. –Simple gate (AND/OR/NAND/NOR) this mode is easy to manipulate. But it is not suitable for representing structure containing more complex gates. Models used in Algebric Methods

34 In algebric methods, we treat a SOP expression in a different manner from the Boolean method A literal is a variable or its negation. A positive and negative literal (e.g. a and a/) have no relation to each other and are treated as mutually independent. A cube is a set of literals An expression is a set of cubes –For example F = ab + c is represented as {F1, F2} = {{a,b},{c}}. A capital letter (C) denotes a cube, and a small letter (a) denotes a literal.

35 A cube is considered a set of literals, not a product of literals. A cube ab is contained in a cube abc as a set of literals, i.e. An expression is called algebric if no cube in the expression contains another. The support is the set of variables that appear in a given expression. SUP(F) If two expressions F={F1, F2, …} and g = {G1, G2, …} have no common support variables, i.e. , we can define the algebric product of two expressions f and g as follows, For example the product of a + bc and d + f is ad + af + + bcd + bcf

36 Algebric Division Algebric Division is an operation to compute a quotient expression Q and a reminder expression R from a given expression F and divisor expression D such that F and Q.D + R are the same expressions. Before describing the weak division algorithm we define the cube division operation, F/D, where F is an expression and D is a cube.

37 We say that g divides f weakly if there exist h,r such that F=gh +r and g is orthogonal on h Example: f=ab + ac + d g= b = c f = a(b +c) +d h=a r=d We say that g divides f evenly if r= 

38 Pseudo code for the weak division algorithm

39

40

41

42

43

44

45

46

47

48

49 Kernels An expression is called cube-free if no cube divides the expression evenly (no reminder) The primary divisors of an expression F, denoted by D(F), are the set of quotients that are derived by dividing F by all possible cubes. The Kernels of an expressions F, denoted by K(F), is the set of cube free primary divisors of F. A cube that is used to drive a kernel is called co- kernel.

50 Each kernel has a level –If a kernel does not contain any othe kernel, the level of the kernel is 0. –If the kernel contains kernels of level n-1 but does not contain kernels of whose level is more than n-1, the level of the kernel is n. Example F= adf + aef + bdf + bef + cdf + cef + bfg + h = (a + b + c)(d + e)f + bfg + h

51


Download ppt "State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization."

Similar presentations


Ads by Google