detecting state coding conflicts in stgs using sat n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Detecting State Coding Conflicts in STGs Using SAT PowerPoint Presentation
Download Presentation
Detecting State Coding Conflicts in STGs Using SAT

Loading in 2 Seconds...

play fullscreen
1 / 25

Detecting State Coding Conflicts in STGs Using SAT - PowerPoint PPT Presentation


  • 109 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Detecting State Coding Conflicts in STGs Using SAT' - brigit


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
detecting state coding conflicts in stgs using sat

Detecting State CodingConflicts in STGs Using SAT

Victor Khomenko, Maciej Koutny,

and Alex Yakovlev

University of Newcastle upon Tyne

talk outline
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
asynchronous circuits
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
example vme bus controller

Data Transceiver

Device

Bus

d

lds

dsr

VME Bus

Controller

dsw

ldtack

dtack

dtack-

dsr+

lds+

d-

lds-

ldtack-

ldtack+

dsr-

dtack+

d+

Example: VME Bus Controller
example csc conflict

10000

dtack-

dsr+

01000

00000

lds+

ldtack-

ldtack-

ldtack-

dtack-

dsr+

10100

01010

00010

10010

ldtack+

lds-

lds-

lds-

dtack-

dsr+

10110

01110

10110

M’’

M’

00110

d+

d-

dsr-

dtack+

01111

11111

10111

Example: CSC Conflict
example enforcing csc

M’’

M’

Example: enforcing CSC

dtack-

dsr+

csc+

010000

100000

000000

100001

lds+

ldtack-

ldtack-

ldtack-

dtack-

dsr+

010100

101001

000100

100100

ldtack+

lds-

lds-

lds-

dtack-

dsr+

101101

011100

101100

001100

d+

d-

dsr-

dtack+

csc-

011111

111111

101111

011110

state graphs vs unfoldings
State Graphs vs. Unfoldings

State Graphs:

  • Relatively easy theory
  • Many efficient algorithms
  • Not visual
  • State space explosion problem
state graphs vs unfoldings1
State Graphs vs. Unfoldings

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
translation into a sat problem

e8

e10

dtack-

dsr+

e1

e2

e3

e4

e5

e6

e7

e12

lds+

dsr+

lds+

ldtack+

dtack+

d+

dsr-

d-

e9

e11

lds-

ldtack-

Translation Into a SAT Problem
  • Configuration constraint: conf’ and conf’’ are configurations
  • Encoding constraint: Code(conf’) = Code(conf’’)
  • Separating constraint: Out(conf’)  Out(conf’’)

conf’’=111111110100

conf’=111000000000

Code(conf’’)=10110

Code(conf’)=10110

translation into a sat problem1
Translation Into a SAT Problem

Conf(conf ')  Conf(conf '') 

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

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

out' out''

configuration constraint
Configuration constraint

Conf(conf ')  Conf(conf '')

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

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

out' out''

configuration constraint1

1

1

1

e

1

causality

0

1

e

0

no conflicts

Configuration constraint
the efficiency of the bcp rule

ldtack-

lds+

lds-

ldtack+

dtack+

dsr+

lds+

dsr-

d+

d-

dsr+

dtack-

dsw+

lds+

d+

ldtack+

dtack+

dtack+

dsw+

dsw-

lds+

d+

d-

The efficiency of the BCP rule

1

the efficiency of the bcp rule1

ldtack-

lds+

lds-

ldtack+

dtack+

dsr+

lds+

dsr-

d+

d-

dsr+

dtack-

dsw+

lds+

d+

ldtack+

dtack+

dtack+

dsw+

dsw-

lds+

d+

d-

The efficiency of the BCP rule

0

encoding constraint
Encoding constraint

Conf(conf ')  Conf(conf '') 

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

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

out' out''

separating constraint
Separating constraint

Conf(conf ')  Conf(conf '') 

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

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

out' out''

translation into a sat problem2
Translation Into a SAT Problem

Conf(conf ')  Conf(conf '') 

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

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

out' out''

analysis of the method
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
experimental results
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
a philosophical remark
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

future work
Future Work

What about a full design cycle based on PN unfoldings?

slide25
Thank you!

Any questions?