synthesis from waveform transition graphs

28
Synthesis from Waveform Transition Graphs Alberto Moreno 1 , Danil Sokolov 1 , Jordi Cortadella 2 1 School of Engineering, Newcastle University, UK 2 Department of Computer Science, Universitat Politècnica de Catalunya, Spain ASYNC 2019

Upload: others

Post on 21-Apr-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Synthesis from Waveform Transition Graphs

Synthesis from Waveform Transition Graphs

Alberto Moreno1, Danil Sokolov1, Jordi Cortadella2

1School of Engineering, Newcastle University, UK2Department of Computer Science, Universitat Politècnica de Catalunya, Spain

ASYNC 2019

Page 2: Synthesis from Waveform Transition Graphs

Outline

2 / 23

• Motivation for yet another model

• Requirements from circuit designers

• Intuition for Waveform Transition Graphs

• Conversion to Signal Transition Graphs for synthesis and verification

• Design automation in

• Examples and evaluation

Page 3: Synthesis from Waveform Transition Graphs

Motivation: Application domain

3 / 23

• “Little digital” control – an ideal

case for asynchronous design [1]

• Relatively small controllers

• Prompt reaction is paramount

• Interface analog world

• Modelling aspects

• Fine-grain control at the level

of individual signals

• Graph-based representation for

causality, concurrency, and conflicts

V_nmos

V_pmos

I_0

R_lo

ad

PMOS

NMOS

I_max

gp_ack

oc

uv

zc

gn_ack

gp

gn

over-current

zero-crossing

analog buck

little

control

V_refunder-voltage

digital

[1] D. Sokolov et al. “Automating the design of async. logic control for AMS electronics” IEEE TCAD, 2019

Page 4: Synthesis from Waveform Transition Graphs

Motivation: Limitations of existing models

4 / 23

• Signal Transition Graphs (STGs)

Great expressive power and tool support

Underlying Petri nets are unfamiliar to engineers

Sophisticated modelling aspects (output persistency,

input properness, non-commutativity, UCS/CSC conflicts, etc.)

• Burst Mode (BM) and eXtended BM (XBM) automata

Engineers understand the underlying state machines

Insufficient expressive power due to limited concurrency

• Generalized / Extended / Symbolic STGs

Even more complex than STGs

No mature tool support

Page 5: Synthesis from Waveform Transition Graphs

Specification flow (industry perspective)

5 / 23

1. Sketch a waveform for intended circuit behaviour

2. Manually convert the waveform (or its fragment for one mode) to STG

3. Make sure that simulation of the STG resembles the sketch waveform

4. Repeat steps 2-3 for every distinctive mode of operation

5. Combine STGs for all modes in a state machine-like structure

6. Try hard to resolve all the STG implementability issues (inconsistency,

irreducible encoding conflicts, non-persistency, etc.)

• How to express destabilisation/stabilisation of input signals?

• How to select the mode of operation based on signal levels?

• Can this flow be simplified and automated?

Page 6: Synthesis from Waveform Transition Graphs

Usability requirements for a new model

6 / 23

• State machine to express high-level modes of operation

• Choice is restricted to state machine level• Current state is represented by a single token

• Waveforms to capture partial order of signals in each mode

• Concurrency is contained within waveforms• At most one waveform is active at a time

• Advanced features for input signals

• Unstable (don’t care) and undefined (stable but unknown) states

• Flexibility in modelling of choice

• Edge-sensitive and level-sensitive

Page 7: Synthesis from Waveform Transition Graphs

Intuition for Waveform Transition Graphs

7 / 23

• Burst Mode automaton: state machine + input/output bursts

• WTG: state machine whose arcs are waveforms

entry and exitstates of a waveform

enabled waveform(may become active)

Enabled waveform activation:

• Consume a token from the entrystate

• Execute all its events• Produce token at the exit state

Page 8: Synthesis from Waveform Transition Graphs

Intuition for Waveform Transition Graphs

7 / 23

• Burst Mode automaton: state machine + input/output bursts

• WTG: state machine whose arcs are waveforms

Page 9: Synthesis from Waveform Transition Graphs

Advanced features for signals

8 / 23

• Unstable inputs via destabilise/stabilise events

• Stabilise to low, high or unknown state

to state

low high unstable stable

fro

msta

te

low

high

unstable

stable

Legend:

conventionalrise/fall events

destabiliseevents

stabiliseevents

Page 10: Synthesis from Waveform Transition Graphs

Flexibility in modelling of choice

9 / 23

• Edge-sensitive choice

• Level-sensitive choice

Page 11: Synthesis from Waveform Transition Graphs

D flip-flop example

10 / 23

• High-level state machine • Possible trace waveform

stay_low stay_high

switch_high switch_low

Page 12: Synthesis from Waveform Transition Graphs

WTG to STG conversion: Simple waveform

11 / 23

• WTG fragment

• STG fragment – one-to-one mapping

Page 13: Synthesis from Waveform Transition Graphs

WTG to STG conversion: Simple waveform

11 / 23

• WTG fragment

• STG fragment – redundant arcs removed

Page 14: Synthesis from Waveform Transition Graphs

WTG to STG conversion: Simple waveform

11 / 23

• WTG fragment

• STG fragment – rearranged layout

Page 15: Synthesis from Waveform Transition Graphs

WTG to STG conversion: Stabilise at HIGH/LOW state

12 / 23

• WTG fragment

• STG fragment

Page 16: Synthesis from Waveform Transition Graphs

WTG to STG conversion: Stabilise at unknown state

13 / 23

• WTG fragment

• STG fragment

Page 17: Synthesis from Waveform Transition Graphs

WTG to STG conversion: Guards in level-sensitive choice

14 / 23

• WTG

• STG

Page 18: Synthesis from Waveform Transition Graphs

Design automation in WORKCRAFT

15 / 23

• Support for capturing and simulating WTGs

• Local structural checks to ensure implementability

• Consistency of signals between waveforms

• Output-persistency and output-determinacy at choice states

• See the paper for more details

• Automatic conversion to STGs as backend representation

• Reuse existing methods and tools

• Formal verification of specification (Punf + MPSat)• Logic synthesis of circuit implementation (Petrify, MPSat, ATACS)

• Backtracking for communication of problems

Output-persistency: enabled output must not be disabled by another signal

Output-determinacy: if an output is enabled by a sequence of events then all executions

of this trace must enable the same output

Page 19: Synthesis from Waveform Transition Graphs

Design automation in WORKCRAFT

16 / 23

Page 20: Synthesis from Waveform Transition Graphs

Instruction decoder example: Block diagram

17 / 23

op0

mr_ack

rgr_ack

r

alu_ack

ipc_ackz

dec

DECINST

dec_ack

@

DATA

MEM

mr

mw

@

r

w

REG

@a@b @d

a

b

d

ALU

op imm

alu

IPCjmp_ofs

jmpreq

ack

instruction

rgr

rgw

op1bus

Instruction Opcode

class op0,op1

Arithmetic 0,0

Branch 0,1

Load 1,0

Store 1,1

Page 21: Synthesis from Waveform Transition Graphs

Instruction decoder example: High-level state machine

18 / 23

Instruction Opcode

class op0,op1

Arithmetic 0,0

Branch 0,1

Load 1,0

Store 1,1

Page 22: Synthesis from Waveform Transition Graphs

Instruction decoder example: High-level state machine

18 / 23

Page 23: Synthesis from Waveform Transition Graphs

Instruction decoder example: High-level state machine

18 / 23

Page 24: Synthesis from Waveform Transition Graphs

Instruction decoder example: Complete WTG

19 / 23

Page 25: Synthesis from Waveform Transition Graphs

Instruction decoder example: STG and SI circuit

20 / 23

Page 26: Synthesis from Waveform Transition Graphs

Productivity: WTG vs STG

21 / 23

BenchmarkSize User Input actions Design time (s)

mode signal STG WTG Impr. STG WTG Impr.

C-element 1 3

A 104 73

32%

118 86

31%B 96 61 112 71

C 68 49 47 35

VME bus controller 2 5

A 262 199

35%

262 238

26%B 302 205 320 257

C 331 182 268 137

Buck controller 3 7

A 338 227

28%

295 260

25%B 320 279 462 320

C 382 243 280 194

Total 2,203 1,518 31% 2,164 1,598 26%

Page 27: Synthesis from Waveform Transition Graphs

Productivity: WTG vs STG

22 / 23

Average data for 3 users with different experience: >25% productivity improvement

1;3 2;5 3;70

50

100

150

200

250

300

350

Benchmark size (modes; signals)

Ke

yb

oa

rd &

mo

use

actio

ns

1;3 2;5 3;70

50

100

150

200

250

300

350

Benchmark size (modes; signals)

Desig

n tim

e (

s)

WTG STG

Page 28: Synthesis from Waveform Transition Graphs

Conclusions

23 / 23

• WTGs model

• Based on familiar modelling abstractions

• Explicit separation of choice and concurrency aspects

• Simpler than STGs and more expressive than XBM automata• Support for unstable signals via destabilise/stabilise events• Edge-sensitive and level-sensitive choice

• WTGs design automation

• Design flow supported in (https://workcraft.org/)

• 25% productivity improvement compared to STGs

• STG translation for reuse of synthesis and verification tools