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

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

  • View
    220

  • Download
    3

Embed Size (px)

Citation preview

01/27/2005

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 := ¬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)

a x

c

b y

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)

00 01 10 11

x = 1

00 01 10 11

x = 0

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 := ¬x a x b

b := ¬x (a ¬b) x b

y := ¬x (¬a a b) x (a ¬b ¬a b)

00 01 10 11

x = 1

00 01 10 11

x = 0

Combinationality test

Algorithm: combinationality test1. 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])

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 L0(x,cs) := 1 (i.e. all states for any input)

2. Repeat

3. Li+1(x,cs) := [cs. Li(x,cs) T(x,cs,ns)] ns→cs

4. Until Li+1 = Li

5. 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 minimal cutsets.

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

CombinationalCyclic

Definitions

input output

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.