combining decomposition and unfolding for stg synthesis (application paper) victor khomenko 1 and...

21
Combining Decomposition and Unfolding for STG Synthesis (application paper) Victor Khomenko 1 and Mark Schaefer 2 1 School of Computing Science, Newcastle University, UK 2 Institute of Computer Science, University of Augsburg, Germany

Post on 20-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Combining Decomposition and

Unfolding for STG Synthesis(application paper)

Victor Khomenko1 and Mark Schaefer2

1School of Computing Science,Newcastle University, UK

2Institute of Computer Science, University of Augsburg, Germany

2

Asynchronous circuits The traditional synchronous (clocked) designs

lack flexibility to cope with contemporarydesign technology challenges

Asynchronous circuits – no clocks: Low power consumption and EMI Tolerant of voltage, temperature and

manufacturing process variations Modularity – no problems with the clock skew

and related subtle issues[ITRS’05]: 22% of designs will be driven by ‘handshake

clocking’ in 2013, and 40% in 2020 Hard to synthesize efficient circuits The theory is not sufficiently developed Limited tool support

3

Syntax-directed translation

Idea:

Convert the specification to a network of standard handshake components (Balsa, Tangram)

Computationally efficient Solution is guaranteed Produces highly over-encoded circuits, with

large area and low performance

4

Logic synthesis

Idea:

Synthesize the circuit by exploring the state space of the specification

Produces good circuits Solution is not guaranteed State space explosion: synthesis

based on state graphs is feasible only for small specifications (20-30 signals for BDD-based Petrify)

5

Unfoldings

Alleviate the state space explosion problem More visual than state graphs Proven efficient for model checking Can often synthesize specifications with

100-200 signals Still not enough for real-life designs!

6

DecompositionIdea:

• Decompose the control path of the specification into smaller clusters and synthesize them one-by-one

• Use syntax-directed translation for clusters on which synthesis fails

Can halve the area of the control path and improve its latency [Carmona, Cortadella DAC’06]

7

Example: VME Bus Controller

lds-d- ldtack- ldtack+

dsr- dtack+ d+

dtack- dsr+ lds+

DeviceVME Bus

Controller

lds

ldtack

d

Data Transceiver

Bus

dsrdtack

8

Initial partition

lds-d- ldtack- ldtack+

dsr- dtack+ d+

dtack- dsr+ lds+Include signal triggers

and choices:• lds: dsr, ldtack, d• d: ldtack, dsr• dtack: d

lds: dsr, ldtack, d

d: ldtack, dsr dtack: d

lds

d dtack

dsr

ldtack

9

Initial decomposition

lds-d- ldtack- ldtack+

dsr- dtack+ d+

dtack- dsr+ lds+

lds-d- ldtack- ldtack+

dsr- dtack+ d+

dtack- dsr+ lds+

lds-d- ldtack- ldtack+

dsr- dtack+ d+

dtack- dsr+ lds+

10

Irreducible CSC conflict

Transition contraction

lds-d- ldtack- ldtack+

dsr- d+

dsr+ lds+

d-

dtack+ d+

dtack-

d- ldtack- ldtack+

dsr- d+

dsr+

ldsd

d- ldtack- ldtack+

dsr- d+

dsr+ lds+Merge similar components

11

Resolving CSC conflicts

lds-d- ldtack- ldtack+

dsr- d+

dsr+ lds+

lds-

d-

ldtack-

ldtack+ dsr-d+dsr+ lds+ lds+

dsr+e1 e2 e3 e4 e5 e7

e9

e11

e10

e8

12

Resolving CSC conflicts (cont’d)

lds-d- ldtack- ldtack+

dsr- d+

dsr+ lds+csc+

csc-

13

Resulting Circuit

Device

d

Data TransceiverBus

dsr

dtacklds

ldtack

csc

14

Implementation

DESIJ

PUNF

MPSAT

Large STGs(specification)

Medium STGs unfolding-based (exact) tests

Small STGs(components)

synthesis

structural (approximate) tests

decomposition

decomposition

15

Safeness-preserving contractions

• Unfolding is more efficient for safe nets

• Decomposition can create unsafe nets

• Contractions have to preserve safeness

t t t

Example Structural condition

16

Auto-conflicts

• Auto-conflicts appear if too many signals wereremoved

• Backtracking reinserts signals which remove the auto-conflict

• Unnecessary backtracking increases thefinal components

a+ a+

17

Implicit places

• Implicit places are places the absence of tokens in which can never be the sole reason for some transition to be disabled

• Such places can be deleted without changing the behaviour of the STG

• Removing such places is essential for decomposition, because they can cause false alarms for other tests prevent contractions

• Structural test looks for a subset of implicit places (redundant places, shortcut places)

18

Experimental results

• Large trees composed of alternating levels of sequencers and parallelisers were considered

• Intractable for stand-alone MPSAT and Petrify

19

Experimental results

0

500

1000

1500

2000

2500

3000

3500

4000

4500

0 1000 2000 3000 4000 5000Signals

Tim

e[s]

20

Experimental results

• Outperforms stand-alone

MPSAT and Petrify on large STGs• Some intractable for

stand-alone MPSAT and

Petrify benchmarks were

easily synthesized• Huge STGs can be synthesized, e.g.

SeqParTree-10 with 12598 places, 8188 transitions, and 1025 inputs and 3069 outputs was synthesized in less then 70 minutes

21

Thank you!Any questions?