230 likes | 448 Views
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
E N D
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 • From combinational to sequential – sequential determinism
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
Escape the trap! • Is ternary-simulation formulation the only solution? • What if cyclicities are to be broken • What if synthesis targets are software
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 ?
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)
Cyclic definitions • Example • D = {a := ¬xa c, b := ¬x (a ¬b) c, c := xb, y := ¬x (¬aab) 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 (¬aab) x (a¬b ¬ab)
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 (¬aab) x (a¬b ¬ab)
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
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 := ¬xaxb b := ¬x(a¬b) xb y := ¬x(¬aab) x(a¬b¬ab)
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])
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
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
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.
Combinationality at functional level • Theorem. The combinationality analysis is independent of the choice of minimalcutsets.
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
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
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
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
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])
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)
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
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.