Synthesis from Waveform Transition Graphs
Transcript of Synthesis from Waveform Transition Graphs
![Page 1: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/10.jpg)
Flexibility in modelling of choice
9 / 23
• Edge-sensitive choice
• Level-sensitive choice
![Page 11: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/12.jpg)
WTG to STG conversion: Simple waveform
11 / 23
• WTG fragment
• STG fragment – one-to-one mapping
![Page 13: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/13.jpg)
WTG to STG conversion: Simple waveform
11 / 23
• WTG fragment
• STG fragment – redundant arcs removed
![Page 14: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/14.jpg)
WTG to STG conversion: Simple waveform
11 / 23
• WTG fragment
• STG fragment – rearranged layout
![Page 15: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/15.jpg)
WTG to STG conversion: Stabilise at HIGH/LOW state
12 / 23
• WTG fragment
• STG fragment
![Page 16: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/16.jpg)
WTG to STG conversion: Stabilise at unknown state
13 / 23
• WTG fragment
• STG fragment
![Page 17: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/17.jpg)
WTG to STG conversion: Guards in level-sensitive choice
14 / 23
• WTG
• STG
![Page 18: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/19.jpg)
Design automation in WORKCRAFT
16 / 23
![Page 20: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/22.jpg)
Instruction decoder example: High-level state machine
18 / 23
![Page 23: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/23.jpg)
Instruction decoder example: High-level state machine
18 / 23
![Page 24: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/24.jpg)
Instruction decoder example: Complete WTG
19 / 23
![Page 25: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/25.jpg)
Instruction decoder example: STG and SI circuit
20 / 23
![Page 26: Synthesis from Waveform Transition Graphs](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042421/6260e49011ddf97faa40f5f2/html5/thumbnails/28.jpg)
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