1 / 18

Toggle Equivalence Preserving (TEP) Logic Optimization

Toggle Equivalence Preserving (TEP) Logic Optimization. Eugene Goldberg (Cadence, USA), Kanupriya Gulati (Texas A&M University, USA) Sunil Khatri (Texas A&M University, USA). DSD 2007, L ü beck, Germany. Summary. Logic Synthesis Preserving Toggle Equivalence (LS_TE) example advantages

arnaud
Download Presentation

Toggle Equivalence Preserving (TEP) Logic Optimization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Toggle Equivalence Preserving (TEP) Logic Optimization Eugene Goldberg (Cadence, USA), Kanupriya Gulati (Texas A&M University, USA) Sunil Khatri (Texas A&M University, USA) DSD 2007, Lübeck, Germany

  2. Summary • Logic Synthesis Preserving Toggle Equivalence (LS_TE) • example • advantages • TEP procedure • problem formulation • novel convergence scheme • example • Some experimental results and conclusion

  3. Example of LS_TE square(x) < 100  abs(x) < 10 z z N*2 y < 100 N2 y* < 10 y2n y*1 … y*n y1 … TEP procedure N*1 N1 square(x) abs(x) TEP procedure … … Circuit N* Circuit N x1 xn x1 xn Subcircuit N1 is toggle equivalent to N*1. Subcircuit N2 is toggle equivalent to N*2 (under “allowable” input assignments).

  4. General formulation of LS_TE Given a single-output combinational circuit N partitioned into subcircuits N1,..,Nk, LS_TE is to produce a new circuit N* : replace each Ni with an optimized toggle equivalentN*i. Multi-output subcircuits Ni and N*i are toggle equivalent if Ni(p )Ni(p )  N*i(p )N*i (p ). Single-output subcircuits: Toggle equivalence  functional equivalence (modulo negation). Definition of toggle equivalence can be extended to the case when Niand Ni* have different input variables but there is a one-to-one mapping between “allowed” input assignments.

  5. Advantages of LS_TE(escaping local minima) z z R*2 N2 y < 100 Re-encoder z y1 y2n z* … N*2 N2 y* < 10 y < 100 R*1 Re-encoder y*1 y*n y1 … y2n … y*1 y*n … abs(x) abs(x) N1 square(x) N*1 N*1 … … … x1 xn x1 xn x1 xn Even if |N*i| < |Ni|, it maybe the case that |N*i| + |R*i| > |Ni| In terms of equivalent transformations, LS_TE may temporarily increase the circuit size. (IWLS-2007)

  6. Advantages of LS_TE (larger set of acceptable synthesis transformations) Usually a transformation that breaks functional equivalence of a chosen surrounding subcircuit is rejected. In LS_TE, one can make transfor-mations that preserve only TE of a surrounding subcircuit

  7. Summary • Logic Synthesis Preserving Toggle Equivalence • example • advantages • TEP procedure • problem formulation • novel convergence scheme • example • Some experimental results and conclusion

  8. TEP procedure (incremental) Let M denote a subcircuit Ni of N. Problem: Given a multi-output circuit M, build an (optimized) toggle equivalent circuit M*. In case M and M* have identical input variables, this problem can be solved incrementally.

  9. TEP procedure (non-incremental) In the general case M and M* have different input variables that are related by so-called correlation functionCF(x1,..,xn,x*1,…,x*d). Correlation function specifies a one-to-one mapping between allowable input assignments. If inputs of M and future circuit M* are different , one can not reuse the structure of M. zp z1 … z*1 … z*m M M* … … x*1 x*d x1 xn

  10. Toggle implication M, M* are multi-output circuits Toggle implication (denoted M  M*) M(p )M(p )  M*(p )M*(p ). M and M* are toggle equivalent iff M  M* and M*  M Strict toggle implication (denoted M < M*) if M  M* is true, but M*  M is not

  11. zp z1 … M … x1 xn Checking toggle implication M, M are copies, M*, M* are copies, z*1 … z*m M* M  M* holds iff S(M,M*) is unsatisfiable. … x1 xn S(M,M*) = SAT(M)  SAT(M)  SAT(M*)  SAT(M*)  (Z  Z) (Z* = Z*) zp z1 … z*1 … z*m M M* Each assignment satisfying S(M,M*) specifies a toggle of M that is not in M*. … … x1 xn x1 xn

  12. Novel Convergence Scheme A TEP procedure, in general, can not re-use the structure of M. Then we need to solve the convergence problem. Usually, the convergence problem is avoided by making functionally equivalent, incremental transformations. Alternatively, the convergence problem is solved byseverelyrestricting the class of implementations we consider. In SIS, it is sums-of-products. In BDDs, it is networks of multiplexers. We build a sequence of circuits M1,…,Md such that a) M  Mi and b) Mi < Mi-1 This sequence converges to a circuit M* such that a) M  M* and b) M*  M.

  13. Example M1 = identity; // so M  M1 repeat {M = rem_toggles(Mi); Mi+1= add_toggles(M ); rem_red_outputs(Mi+1);} until (Mi+1  M) Target circuit M* implements x1  x2 M1 Init. circuit First iter. Second iter. M rem_toggles rem_toggles add_toggles M2 M3

  14. More about removing and adding toggles Let A be the set of all toggles of Mi that are not in M. When removing toggles we are free to choose any non-empty subset of A. Let B be the set of all toggles of M that has to be re-introduced into Mi We have to reintroduce all the toggles of B back to Mi.

  15. Experimental results (Using TEP procedure for simplification of expressions)

  16. Experimental results(Using TEP procedure to optimize small single output circuits)

  17. Experimental results(TEP procedure in the context of LS_TE)

  18. Conclusions • Our TEP procedure can be used for developing new structure-agnostic synthesis algorithms • Besides, TEP procedure enables a powerful method of logic synthesis (LS_TE). • LS_TE suggests a way to address local minimum entrapment problem • LS_TE allows a more general set of synthesis transformation (one can accept a transformation that preserves only toggle equivalence)

More Related