Presentation is loading. Please wait.

Presentation is loading. Please wait.

01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.

Similar presentations


Presentation on theme: "01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley."— Presentation transcript:

1 01/27/2005 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 := ¬x a  c, b := ¬x (a  ¬b)  c, c := x b, y := ¬x (¬a  a b)  x (a ¬c  ¬a c)} 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 := ¬x a  x b, b := ¬x (a  ¬b)  x b Observation function: y := ¬x (¬a  a b)  x (a ¬b  ¬a b)

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

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 := ¬ x a  x b b := ¬ x (a  ¬ b)  x b y := ¬ x ( ¬ a  a b)  x (a ¬ b  ¬ a b)

11 Combinationality test Algorithm: combinationality test 1. Compute states in loops of SEGs by a greatest fixed-point computation (iterative image computation w/o the quantification of input variables) 2. Assert the states in loop of any SEG have one observation label (apply cprojection 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 1. Let L 0 (x,cs) := 1 (i.e. all states for any input) 2. Repeat 3. L i+1 (x,cs) := [  cs. L i (x,cs)  T(x,cs,ns)] ns→cs 4. Until L i+1 = L i 5. 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 minimal cutsets.

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 targets are 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.


Download ppt "01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley."

Similar presentations


Ads by Google