1 / 23

Combinationality of cyclic definitions

Combinationality of cyclic definitions. EECS 290A – Spring 2005 UC Berkeley. Outline. Beyond ternary-simulation formulation? Cyclic definitions From circuits to functions From hardware to software When cyclic definitions behave combinationally Validity of functional-level analysis

morag
Download Presentation

Combinationality of cyclic definitions

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. Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley

  2. Outline • Beyond ternary-simulation formulation? • Cyclic definitions • From circuits to functions • From hardware to software • When cyclic definitions behave combinationally • Validity of functional-level analysis • From combinational to sequential – sequential determinism

  3. Circuit-level analysis • Advantage • Simple (compared to what’s coming) • Weakness • Analysis at low abstraction level (after circuit netlists are derived) • Not combinational! Now what? • Combinationality depends on circuit structures • The schizophrenia problem in Esterel compilation

  4. Escape the trap! • Is ternary-simulation formulation the only solution? • What if cyclicities are to be broken • What if synthesis targets are software

  5. Functional-level analysis • Why ? • Analysis at circuit level • Too conservative • when cyclic definitions are to be broken • when synthesis targets are software • At very low level • needs to translate high-level descriptions into gate-level representations • yields inconsistent conclusions about combinationality • Analysis at functional level • admits more general combinationality formulation • avoids the translation from functional to gate level representation • yields consistent conclusions about combinationality • How ?

  6. Different levels of abstraction • Distinctions between functional and circuit levels of abstraction • Functional level • Valuations take no time (timing information is abstracted away) • Circuit level • Gates and wires are associated with delay (in particular, under the UIN delay model)

  7. Cyclic definitions • Example • D = {a := ¬xa c, b := ¬x (a ¬b)  c, c := xb, y := ¬x (¬aab)  x (a¬c  ¬ac)} • Input: I = {x}, output: O = {y}, internal: {a, b, c} • Break cyclic definitions of D w.r.t. a minimal cutset C = {a, b} • Excitation functions: a := ¬xa xb, b := ¬x (a ¬b)  xb • Observation function: y := ¬x (¬aab)  x (a¬b  ¬ab)

  8. State evolution graphs • Any SEG is defined for some input assignment • Example (cont’d) • Excitation functions: a := ¬xa xb, b := ¬x (a ¬b)  xb • Observation function: y := ¬x (¬aab)  x (a¬b  ¬ab)

  9. Facts about SEGs • An SEG is defined for some fixed input assignment • Every state in an SEG has exactly one outgoing edge • Any state is either in a loop or on a path leading to a loop • Any two loops of an SEG are disjoint

  10. Combinationality at functional level • Definition. [Combinationality] A set D of cyclic definitions w.r.t. some cutset C is combinational at the functional level if, for any input assignment, all states in loops of any SEG have the same output observation. • Example (cont’d) I = {x}, O = {y}, C = {a,b} a := ¬xaxb b := ¬x(a¬b) xb y := ¬x(¬aab) x(a¬b¬ab)

  11. Combinationality test • Algorithm: combinationality test • Compute states in loops of SEGs bya greatest fixed-point computation (iterative image computation w/o the quantification of input variables) • Assert the states in loop of any SEG have one observation label (applycprojection operation [Lin & Newton 91])

  12. Compute states in loops • Let L denote the set of states in loops and T be the transition relation for SEGs • The greatest fixed-point computation corresponds to • Let L0(x,cs) := 1 (i.e. all states for any input) • Repeat • Li+1(x,cs) := [cs. Li(x,cs)  T(x,cs,ns)] ns→cs • Until Li+1 = Li • Return L

  13. Assert consistent observations • Let O(x,cs,o) be the observation relation and (x,o)  [ cs. L(x,cs)  O(x,cs,o) ]. • The set of cyclic definitions is combinational iff (x,o) = cprojection((x,o),a), where a is an arbitrary minterm in the o-space

  14. Cycle breaking • Algorithm: cycle breaking • From combinationality test, rewrite definitions of PO variables as functions of PI variables. • Or, rewrite definitions of cutset variables as functions of PI variables.

  15. Combinationality at functional level • Theorem. The combinationality analysis is independent of the choice of minimalcutsets.

  16. Combinationality at functional level • Theorem. [Generality] There exists a feasible combinational implementation of a set D of cyclic definitions if, and only if,D satisfies the combinationality test. • The combinationality formulation is the most general

  17. Combinationality at functional level • Theorem. [Complexity] Combinationality analysis at the functional level is PSPACE-complete in the cutset size. • Thus the applicability of the analysis strongly depends on the cutset size • Notice the freedom of choosing minimal cutsets

  18. Validaty of combinationality analysis • Conditions of legitimacy • Cyclicities are to be broken, or • Synthesis targetsare software • Cyclic definitions can be maintained • Assume that execution follows the evolutions in SEGs

  19. Ternary simulation at functional level • If all valuations must stabilize • For any input assignment, there exists a set of signals valuating to either 0 or 1 such that all cyclic definitions are broken • Correspondingly, every SEG G has a single self-loop state to which all other states of G evolve • If only output signals must stabilize • Partition input assignments into two sets: one fully and the other partially determines output valuations w/o valuating internal signals • The first set imposes no restriction on SEGs • The second set imposes the same restriction as the previous case (all valuations must stabilize) • Therefore, ternary simulation at functional level is very restricted compared to the introduced analysis

  20. Some extensions • Stable cyclic definitions • Loops of length greater than one are unstable • Undesirable because of dynamic power dissipation (though valid for software synthesis) • Rewrite definitions to consist of only stable loops • Input-output determinism of state transition systems • Extend combinationality analysis to systems with state-holding elements (c.f. GMW analysis used in [Shiple 96])

  21. Sequential determinism • For an FSM to behave deterministically in IO, it is allowed to have non-deterministic transition functions • The cyclic definitions can be more flexible (in observations induced by the transition functions)

  22. Summaries • What we learned • Combinationality formulation at functional level • Valid if cyclicities are to be broken, or synthesis targets are software • Combinationality analysis and the rewrite procedure to make cyclic definitions acyclic • Sequential determinism

  23. References • [Lin & Newton 91] B. Lin and A. Newton. Implicit manipulation of equivalence classes using binary decision diagrams. In Proc. ICCD, pp.81-85, 1991. • [JMB 04] On breakable cyclic definitions. In Proc. ICCAD, 2004.

More Related