detecting state coding conflicts in stgs using sat

Post on 06-Jan-2016

17 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Detecting State Coding Conflicts in STGs Using SAT. Victor Khomenko , Maciej Koutny , and Alex Yakovlev University of Newcastle upon Tyne. Talk Outline. Introduction Asynchronous circuits Complete state coding (CSC) State graphs vs. net unfoldings - PowerPoint PPT Presentation

TRANSCRIPT

Detecting State Coding

Conflicts in STGs Using SAT

Victor Khomenko, Maciej Koutny,

and Alex Yakovlev

University of Newcastle upon Tyne

2

Talk Outline

• Introduction Asynchronous circuits Complete state coding (CSC) State graphs vs. net unfoldings

• Translating a CSC problem into a SAT one

• Analysis of the method

• Experimental results

• Future work

3

Asynchronous Circuits

Asynchronous circuits – no clocks:

Low power consumption Average-case rather than worst-case

performance Low electro-magnetic emission No problems with the clock skew Hard to synthesize The theory is not sufficiently developed Limited tool support

4

Example: VME Bus Controller

lds-d- ldtack- ldtack+

dsr- dtack+ d+

dtack- dsr+ lds+

DeviceVME Bus

Controller

lds

ldtack

d

Data Transceiver

Bus

dsrdsw

dtack

5

Example: CSC Conflict

dtack- dsr+

dtack- dsr+

dtack- dsr+

01000

ldtack- ldtack- ldtack-

0000010000

lds- lds- lds-

01010 00010 10010

lds+

ldtack+

d+

dtack+dsr-d-

01110 00110 10110

01111 11111 10111

10110

10100

M’’ M’

6

Example: enforcing CSC

dtack- dsr+

dtack- dsr+

dtack- dsr+

010000

ldtack- ldtack- ldtack-

000000 100000

lds- lds- lds-

010100 000100 100100

lds+

ldtack+

d+

dtack+dsr-

d-

011100 001100 101100

011111 111111 101111

101101

101001

011110

csc+

csc-

100001

M’’ M’

7

State Graphs:

Relatively easy theory Many efficient algorithms Not visual State space explosion problem

State Graphs vs. Unfoldings

8

Unfoldings:

Alleviate the state space explosion problem More visual than state graphs Proven efficient for model checking Quite complicated theory Not sufficiently investigated Relatively few algorithms

State Graphs vs. Unfoldings

9

Translation Into a SAT Problem

lds-

d-

ldtack-

ldtack+ dsr- dtack+d+

dtack-

dsr+ lds+ lds+

dsr+e1 e2 e3 e4 e5 e6 e7

e9 e11

e12

e10e8

conf’=111000000000Code(conf’)=10110

conf’’=111111110100Code(conf’’)=10110

• Configuration constraint: conf’ and conf’’ are configurations

• Encoding constraint: Code(conf’) = Code(conf’’)

• Separating constraint: Out(conf’) Out(conf’’)

10

Conf(conf ') Conf(conf '')

Code(conf ',…, val) Code(conf '',…, val)

Out(conf ',…, out') Out(conf '',…, out'')

out' out''

Translation Into a SAT Problem

11

Conf(conf ') Conf(conf '')

Code(conf ',…, val) Code(conf '',…, val)

Out(conf ',…, out') Out(conf '',…, out'')

out' out''

Configuration constraint

12

Configuration constraint

1

11

1

causality

e

0

1

0

no conflicts

e

)()(

feef

confconf

)(}\{)(

feeef

confconf

13

The efficiency of the BCP rule

1

dtac

k-

d-

dsr+

ldta

ck+

dsr-

dtac

k+

d+

lds-

dsr+

lds+

lds+

ldta

ck-

dtac

k+

dtac

k+

dsw

+

d+ dsw

-

lds+

ldta

ck+

d-

dsw

+

d+ lds+

14

The efficiency of the BCP rule

dtac

k-

d-

dsr+

ldta

ck+

dsr-

dtac

k+

d+

lds-

dsr+

lds+

lds+

ldta

ck-

dtac

k+

dtac

k+

dsw

+

d+ dsw

-

lds+

ldta

ck+

d-

dsw

+

d+ lds+

0

15

Conf(conf ') Conf(conf '')

Code(conf ',…, val) Code(conf '',…, val)

Out(conf ',…, out') Out(conf '',…, out'')

out' out''

Encoding constraint

16

Tracing the value of a signal

a+ b+ c+ a- c- a+

a=0 a=1

17

Computing the signals’ values

0

0

0e1

b

fbf

eb confconfcut

b

pbhz cutval

z 1)(

18

Conf(conf ') Conf(conf '')

Code(conf ',…, val) Code(conf '',…, val)

Out(conf ',…, out') Out(conf '',…, out'')

out' out''

Separating constraint

19

Computing the enabled outputs

fef

fef

e confconfen

)()(

1

1

1

e

0

0

0

ezeh

z enout

)(

20

Conf(conf ') Conf(conf '')

Code(conf ',…, val) Code(conf '',…, val)

Out(conf ',…, out') Out(conf '',…, out'')

out' out''

Translation Into a SAT Problem

21

Analysis of the Method

A lot of clauses of length 2 – good for BCP

The method can be generalized to other

coding properties, e.g. USC and normalcy

The method can be generalized to nets with

dummy transitions

Further optimization is possible for certain

net subclasses, e.g. unique-choice nets

22

Experimental Results

• Unfoldings of STGs are almost always small

in practice and thus well-suited for synthesis

• Huge memory savings

• Dramatic speedups:

A few intractable examples easily solved

Several orders of magnitude speedups for

many other examples

The hardest example we tested took less

than 3 minutes

23

A philosophical remark

The combination unfolding & solver seems

to be quite powerful: unfolding reduces a

PSPACE-complete problem down to an NP-

complete one, which can efficiently be

tackled by a solver

24

What about a full design cycle based on PN unfoldings?

Future Work

25

Thank you!Any questions?

top related