Presentation is loading. Please wait.

Presentation is loading. Please wait.

Synthesis of asynchronous controllers from Signal Transition Graphs:

Similar presentations


Presentation on theme: "Synthesis of asynchronous controllers from Signal Transition Graphs:"— Presentation transcript:

1 Synthesis of asynchronous controllers from Signal Transition Graphs:
Jordi Cortadella Universitat Politècnica de Catalunya Joint work with: Michael Kishinevsky, Intel Corporation Alex Kondratyev, Xilinx Luciano Lavagno, Politecnico di Torino Alex Yakovlev, University of Newcastle EMICRO 2016 Synthesis of async controllers from STGs

2 Synthesis of async controllers from STGs
Outline Asynchronous controllers Specification with Signal Transition Graphs Synthesis from Signal Transition Graphs Petrify Advanced topics EMICRO 2016 Synthesis of async controllers from STGs

3 Synthesis of async controllers from STGs
Synchronous circuit R CL R CL R CL R CLK Implicit synchronization EMICRO 2016 Synthesis of async controllers from STGs

4 Synthesis of async controllers from STGs
Asynchronous circuit Aout delay delay Ain C C L logic L logic L logic L C C Rin delay Rout EMICRO 2016 Synthesis of async controllers from STGs

5 Asynchronous latches: C element
Vdd A B C A B C B A C B A A B C+ C C C A B Gnd EMICRO 2016 Synthesis of async controllers from STGs

6 Synthesis of async controllers from STGs
Data-path / Control L logic L logic L logic L Rin Rout CONTROL Ain Aout EMICRO 2016 Synthesis of async controllers from STGs

7 Synthesis of async controllers from STGs
Asynchronous modules DATA PATH Data IN Data OUT start done req in req out CONTROL ack in ack out Signaling protocol: reqin+ start+ [computation] done+ reqout+ ackout+ ackin+ reqin- start [reset] done- reqout- ackout- ackin- (more concurrency is also possible, e.g. by overlapping the return-to-zero phase of step i-1 with the evaluation phase of step i) EMICRO 2016 Synthesis of async controllers from STGs

8 Synthesis of async controllers from STGs
Memory read cycle Valid address Address A A Valid data Data D D Transition signaling, 4-phase EMICRO 2016 Synthesis of async controllers from STGs

9 Control specification
B+ A- B A input B output B- Signal Transition Graph (STG) EMICRO 2016 Synthesis of async controllers from STGs

10 Control specification
B+ A B A- B- Assumption: the environment meets the specification EMICRO 2016 Synthesis of async controllers from STGs

11 Control specification
B- A B A- B+ EMICRO 2016 Synthesis of async controllers from STGs

12 Control specification
B+ A C+ C C A- B- B C- EMICRO 2016 Synthesis of async controllers from STGs

13 Control specification
B+ A C+ C C A- B B- C- EMICRO 2016 Synthesis of async controllers from STGs

14 Control specification
Ri+ Ao+ Ri- Ao- Ro+ Ai+ Ro- Ai- Ri Ro Ao Ai FIFO cntrl STG (Petri Net) EMICRO 2016 Synthesis of async controllers from STGs

15 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

16 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

17 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

18 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

19 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

20 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

21 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

22 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

23 Control specification
Ri+ Ro+ Ri Ro Ao Ai FIFO cntrl Ao+ Ai+ Ri- Ro- Ao- Ai- EMICRO 2016 Synthesis of async controllers from STGs

24 Control specification
Ri+ Ao+ Ri- Ao- Ro+ Ai+ Ro- Ai- Ri Ro Ao Ai FIFO cntrl C Ri Ro Ai Ao EMICRO 2016 Synthesis of async controllers from STGs

25 A simple filter: specification
Ain Rin IN y := 0; loop x := READ (IN); WRITE (OUT, (x+y)/2); y := x; end loop filter Aout Rout OUT EMICRO 2016 Synthesis of async controllers from STGs

26 A simple filter: block diagram
x y + control Rin Ain Rout Aout Rx Ax Ry Ay Ra Aa IN OUT x and y are level-sensitive latches (transparent when R=1) + is a bundled-data adder (matched delay between Ra and Aa) Rin indicates the validity of IN After Ain+ the environment is allowed to change IN (Rout,Aout) control a level-sensitive latch at the output EMICRO 2016 Synthesis of async controllers from STGs

27 A simple filter: control spec.
x y + control Rin Ain Rout Aout Rx Ax Ry Ay Ra Aa IN OUT Rin+ Ain+ Rin- Ain- Rx+ Ax+ Rx- Ax- Ry+ Ay+ Ry- Ay- Ra+ Aa+ Ra- Aa- Rout+ Aout+ Rout- Aout- EMICRO 2016 Synthesis of async controllers from STGs

28 A simple filter: control impl.
Rin Ain Rx Ax Ry Ay Aa Ra Aout Rout Rin+ Ain+ Rin- Ain- Rx+ Ax+ Rx- Ax- Ry+ Ay+ Ry- Ay- Ra+ Aa+ Ra- Aa- Rout+ Aout+ Rout- Aout- EMICRO 2016 Synthesis of async controllers from STGs

29 Control: observable behavior
Rin Ain Rx Ax Ry Ay Aa Ra Aout Rout z Rin+ Ain- Rin- Aa- Ain+ Ra- Rx+ Ry- z- Ax- Rx- Ay+ Ay- Ax+ Ra+ Aa+ Rout+ Aout+ z+ Rout- Aout- Ry+ EMICRO 2016 Synthesis of async controllers from STGs

30 Synthesis of async controllers from STGs
x x y y z z Environment Circuit z+ x- x+ y+ z- y- Signal Transition Graph (STG) EMICRO 2016 Synthesis of async controllers from STGs

31 Synthesis of async controllers from STGs
x y z z+ x- x+ y+ z- y- EMICRO 2016 Synthesis of async controllers from STGs

32 Taking delays into account
x+ x- y+ y- z+ z- x z y x’ z’ Delay assumptions: Environment: 3 times units Gates: 1 time unit events: x+  x’-  y+  z+  z’-  x-  x’+  z-  z’+  y-  time: EMICRO 2016 Synthesis of async controllers from STGs

33 Taking delays into account
x+ x- y+ y- z+ z- 1 x y 1 z very slow Delay assumptions: unbounded delays EMICRO 2016 Synthesis of async controllers from STGs

34 Taking delays into account
z+ x- 1 x x+ y+ z- y 1 z y- very slow Delay assumptions: unbounded delays EMICRO 2016 Synthesis of async controllers from STGs

35 Taking delays into account
z+ x- 1 x 1 x+ y+ z- y 1 z y- very slow Delay assumptions: unbounded delays EMICRO 2016 Synthesis of async controllers from STGs

36 Taking delays into account
z+ x- 1 x 1 x+ y+ z- y 1 1 z y- very slow Delay assumptions: unbounded delays EMICRO 2016 Synthesis of async controllers from STGs

37 Taking delays into account
z+ x- 1 x 1 x+ y+ z- y 1 1 z y- very slow Delay assumptions: unbounded delays EMICRO 2016 Synthesis of async controllers from STGs

38 Taking delays into account
z+ x- failure!!!!! 1 x x+ y+ z- y 1 1 z y- very slow Delay assumptions: unbounded delays EMICRO 2016 Synthesis of async controllers from STGs

39 Delay models for async. circuits
Bounded delays (BD): realistic for gates and wires. Technology mapping is easy, verification is difficult Speed independent (SI): Unbounded (pessimistic) delays for gates and “negligible” (optimistic) delays for wires. Technology mapping is more difficult, verification is easy Delay insensitive (DI): Unbounded (pessimistic) delays for gates and wires. DI class (built out of basic gates) is almost empty Quasi-delay insensitive (QDI): Delay insensitive except for critical wire forks (isochronic forks). Formally, it is the same as speed independent In practice, different synthesis strategies are used BD DI SI  QDI EMICRO 2016 Synthesis of async controllers from STGs

40 Synthesis of asynchronous controllers from STGs
EMICRO 2016 Synthesis of async controllers from STGs

41 Synthesis of async controllers from STGs
x y z Environment Circuit z+ x- x+ y+ z- y- Signal Transition Graph (STG) EMICRO 2016 Synthesis of async controllers from STGs

42 Synthesis of async controllers from STGs
Specification (STG) Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist EMICRO 2016 Synthesis of async controllers from STGs

43 Synthesis of async controllers from STGs
x y z z+ x- x+ y+ z- y- EMICRO 2016 Synthesis of async controllers from STGs

44 State Graph Generation
xyz 000 y- x+ 100 y+ z+ 101 110 111 z+ x- x- 001 011 y+ x+ y+ z- y- z- 010 EMICRO 2016 Synthesis of async controllers from STGs

45 Synthesis of async controllers from STGs
Next-state functions xyz 000 x+ 100 y+ z+ 101 110 111 x- 001 011 z- 010 y- EMICRO 2016 Synthesis of async controllers from STGs

46 Synthesis of async controllers from STGs
Next-state functions x Env y z In this particular implementation, the circuit generates x and z and the environment generates y. EMICRO 2016 Synthesis of async controllers from STGs

47 Synthesis of async controllers from STGs
Specification (STG) Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist EMICRO 2016 Synthesis of async controllers from STGs

48 Synthesis of async controllers from STGs
VME bus DSr LDS LDTACK D DTACK Read Cycle Device LDS LDTACK D DSr DSw DTACK VME Bus Controller Data Transceiver Bus EMICRO 2016 Synthesis of async controllers from STGs

49 Synthesis of async controllers from STGs
STG for the READ cycle DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- D LDS DSr VME Bus Controller LDTACK DTACK EMICRO 2016 Synthesis of async controllers from STGs

50 Choice: Read and Write cycles
DSr+ LDS+ LDTACK+ D+ DTACK+ DSr- D- LDS- LDTACK- DTACK- DSw+ D+ LDS+ LDTACK+ D- DTACK+ DSw- LDS- LDTACK- DTACK- EMICRO 2016 Synthesis of async controllers from STGs

51 Choice: Read and Write cycles
DTACK- DSr+ LDS+ LDTACK+ D+ DTACK+ DSr- D- LDS- LDTACK- DSw+ DSw- EMICRO 2016 Synthesis of async controllers from STGs

52 Choice: Read and Write cycles
DTACK- DSr+ LDS+ LDTACK+ D+ DTACK+ DSr- D- LDS- LDTACK- DSw+ DSw- EMICRO 2016 Synthesis of async controllers from STGs

53 Choice: Read and Write cycles
DTACK- DSr+ LDS+ LDTACK+ D+ DTACK+ DSr- D- LDS- LDTACK- DSw+ DSw- EMICRO 2016 Synthesis of async controllers from STGs

54 Synthesis of async controllers from STGs
Circuit synthesis Goal: Derive a hazard-free circuit under a given delay model EMICRO 2016 Synthesis of async controllers from STGs

55 Synthesis of async controllers from STGs
Speed independence Delay model Unbounded gate / environment delays Certain wire delays shorter than certain paths Conditions for implementability: Consistency Complete State Coding Persistency EMICRO 2016 Synthesis of async controllers from STGs

56 Synthesis of async controllers from STGs
Specification (STG) Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist EMICRO 2016 Synthesis of async controllers from STGs

57 Synthesis of async controllers from STGs
STG for the READ cycle DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- D LDS DSr VME Bus Controller LDTACK DTACK EMICRO 2016 Synthesis of async controllers from STGs

58 Binary encoding of signals
LDS = 0 LDS = 1 LDS - LDS + DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- DSr+ DTACK- LDTACK+ LDS- LDS- LDS- DSr+ DTACK- D+ D- DTACK+ DSr- EMICRO 2016 Synthesis of async controllers from STGs

59 Binary encoding of signals
10000 DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- 10010 DSr+ DTACK- 01100 00110 LDTACK+ LDS- LDS- LDS- DSr+ DTACK- 10110 01110 10110 D+ D- DTACK+ DSr- (DSr , DTACK , LDTACK , LDS , D) EMICRO 2016 Synthesis of async controllers from STGs

60 Synthesis of async controllers from STGs
Next-state functions DSr DTACK LDS LDTACK D D DSr DTACK LDS LDTACK D LDS DSr VME Bus Controller LDTACK DTACK DSr DTACK LDS LDTACK D EMICRO 2016 Synthesis of async controllers from STGs

61 Synthesis of async controllers from STGs
Next-state functions DSr DTACK LDS LDTACK D D DSr DTACK LDS DSr LDS LDS VME Bus Controller LDTACK LDTACK DTACK D DSr DTACK LDS LDTACK D EMICRO 2016 Synthesis of async controllers from STGs

62 Excitation / Quiescent Regions
ER (LDS+) ER (LDS-) QR (LDS+) QR (LDS-) LDS- LDS+ EMICRO 2016 Synthesis of async controllers from STGs

63 Next-state function for LDS
0  1 LDS- LDS+ 0  0 1  1 10110 1  0 EMICRO 2016 Synthesis of async controllers from STGs

64 Next-state function for LDS
5-variable Karnaugh map LDS = 0 LDS = 1 DTACK DSr D LDTACK 00 01 11 10 DTACK DSr D LDTACK 00 01 11 10 - 1 - - - 1 - - - - - - - - - - - - - 1 1 1 - - 0/1? EMICRO 2016 Synthesis of async controllers from STGs

65 Synthesis of async controllers from STGs
Specification (STG) Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist EMICRO 2016 Synthesis of async controllers from STGs

66 Concurrency reduction
DSr+ LDS+ LDS- LDS- LDS- 10110 10110 EMICRO 2016 Synthesis of async controllers from STGs

67 Concurrency reduction
DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- D LDS DSr VME Bus Controller LDTACK DTACK Not always acceptable: the environment cannot be modified EMICRO 2016 Synthesis of async controllers from STGs

68 State encoding conflicts
LDS+ LDTACK- LDTACK+ LDS- 10110 10110 EMICRO 2016 Synthesis of async controllers from STGs

69 Synthesis of async controllers from STGs
Signal Insertion CSC- CSC+ LDS+ LDTACK- LDTACK+ LDS- 101101 101100 D- DSr- EMICRO 2016 Synthesis of async controllers from STGs

70 Synthesis of async controllers from STGs
Specification (STG) Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist EMICRO 2016 Synthesis of async controllers from STGs

71 Complex-gate implementation
EMICRO 2016 Synthesis of async controllers from STGs

72 Implementability conditions
Consistency Rising and falling transitions of each signal alternate in any trace Complete state coding (CSC) Next-state functions correctly defined Persistency No event can be disabled by another event (unless they are both inputs) EMICRO 2016 Synthesis of async controllers from STGs

73 Implementability conditions
Consistency + CSC + persistency There exists a speed-independent circuit that implements the behavior of the STG (under the assumption that any Boolean function can be implemented with one complex gate) EMICRO 2016 Synthesis of async controllers from STGs

74 Synthesis of async controllers from STGs
Persistency 100 000 001 a- c+ b+ a c b a c b is this a pulse ? Speed independence  glitch-free output behavior under any delay EMICRO 2016 Synthesis of async controllers from STGs

75 Synthesis of async controllers from STGs
Example a+ b+ c+ d+ a- b- d- c- 0000 1000 1100 0100 0110 0111 1111 1011 0011 1001 0001 a+ b+ c+ a- b- c- d- d+ EMICRO 2016 Synthesis of async controllers from STGs

76 Synthesis of async controllers from STGs
ab cd 00 01 11 10 1 0000 1000 1100 0100 0110 0111 1111 1011 0011 1001 0001 a+ b+ c+ a- b- c- d- d+ ER(d+) ER(d-) EMICRO 2016 Synthesis of async controllers from STGs

77 Synthesis of async controllers from STGs
ab 0000 1000 1100 0100 0110 0111 1111 1011 0011 1001 0001 a+ b+ c+ a- b- c- d- d+ cd 00 01 11 10 00 1 01 1 1 1 1 11 1 10 Complex gate EMICRO 2016 Synthesis of async controllers from STGs

78 Synthesis of async controllers from STGs
ab cd 00 01 11 10 1 d 00 c 1 01 1 1 1 1 11 a 1 10 L c d Complex gate a EMICRO 2016 Synthesis of async controllers from STGs

79 Implementation with C elements
R S z • • •  S+  z+  S-  R+  z-  R-  • • • S (set) and R (reset) must be mutually exclusive S must cover ER(z+) and must not intersect ER(z-)  QR(z-) R must cover ER(z-) and must not intersect ER(z+)  QR(z+) EMICRO 2016 Synthesis of async controllers from STGs

80 Synthesis of async controllers from STGs
ab 0000 1000 1100 0100 0110 0111 1111 1011 0011 1001 0001 a+ b+ c+ a- b- c- d- d+ cd 00 01 11 10 00 1 01 1 1 1 1 11 1 10 S d C R EMICRO 2016 Synthesis of async controllers from STGs

81 Synthesis of async controllers from STGs
0000 1000 1100 0100 0110 0111 1111 1011 0011 1001 0001 a+ b+ c+ a- b- c- d- d+ but ... S d C R EMICRO 2016 Synthesis of async controllers from STGs

82 Synthesis of async controllers from STGs
Assume that R=ac has an unbounded delay 0000 1000 1100 0100 0110 0111 1111 1011 0011 1001 0001 a+ b+ c+ a- b- c- d- d+ Starting from state 0000 (R=1 and S=0): a+ ; R- ; b+ ; a- ; c+ ; S+ ; d+ ; R+ disabled (potential glitch) S d C R EMICRO 2016 Synthesis of async controllers from STGs

83 Synthesis of async controllers from STGs
ab 0000 1000 1100 0100 0110 0111 1111 1011 0011 1001 0001 a+ b+ c+ a- b- c- d- d+ cd 00 01 11 10 00 1 01 1 1 1 1 11 1 10 C S R d Monotonic covers EMICRO 2016 Synthesis of async controllers from STGs

84 C-based implementations
R d c d C b a c weak d c weak d a a b generalized C elements (gC) EMICRO 2016 Synthesis of async controllers from STGs

85 Speed-independent implementations
Implementability conditions Consistency Complete state coding Persistency Circuit architectures Complex (hazard-free) gates C elements with monotonic covers ... EMICRO 2016 Synthesis of async controllers from STGs

86 Synthesis of async controllers from STGs
Petrify: a tool for the synthesis of Petri nets and asynchronous controllers EMICRO 2016 Synthesis of async controllers from STGs

87 Synthesis of async controllers from STGs
petrify Initially created in 1992 to generate Petri nets from Labelled Transition Systems Later extended for the synthesis of asynchronous controllers (including state encoding, technology mapping, relative timing, …) Widely used in the asynchronous community for the synthesis of controllers Available (binary and tutorial) at: EMICRO 2016 Synthesis of async controllers from STGs

88 Synthesis of async controllers from STGs
petrify: example lr+ rr+ lr Cntrl rr la+ ra+ la ra lr- rr- la- ra- EMICRO 2016 Synthesis of async controllers from STGs

89 Synthesis of async controllers from STGs
petrify: input format lr+ rr+ .inputs lr ra .outputs la rr .graph rr+ ra+ la+ rr- ra- la+ lr- la- lr+ lr+ la+ rr+ lr- la- rr- ra+ rr- la- ra- rr+ .marking { <la-,lr+> <ra-,rr+> } .end la+ ra+ lr- rr- la- ra- EMICRO 2016 Synthesis of async controllers from STGs

90 petrify: visualization
lr+ rr+ la+ ra+ lr- rr- la- ra- EMICRO 2016 Synthesis of async controllers from STGs

91 petrify: generation of state graph
EMICRO 2016 Synthesis of async controllers from STGs

92 petrify: state encoding
EMICRO 2016 Synthesis of async controllers from STGs

93 petrify: logic synthesis
[la] = rr*csc0’; [rr] = csc0’; [csc0] = csc0*(lr’ + ra) + lr’*ra; EMICRO 2016 Synthesis of async controllers from STGs

94 petrify: technology mapping
# gate and2_1 [la] = rr*csc0'; # gate inv [rr] = csc0'; # gate c_element1 [csc0] = ra*(lr' + csc0) + lr'*csc0; (Note: tech mapping is not that easy. Be careful with glitches) EMICRO 2016 Synthesis of async controllers from STGs

95 Synthesis of async controllers from STGs
not covered … State encoding: Signals must be inserted preserving consistency and persistency Technology mapping: New hazard-free signals must be inserted The new signals should help in simplifying logic Relative timing: Introduce assumptions on the ordering of concurrent events EMICRO 2016 Synthesis of async controllers from STGs

96 Synthesis of async controllers from STGs
No Hazards abcx 1000 1100 b+ 1 1 1 1 a b c x 0100 a- 0110 c+ EMICRO 2016 Synthesis of async controllers from STGs

97 Decomposition May Lead to Hazards
abcx 1000 1100 b+ 0100 a- 0110 c+ 1 1 1 1 1 1 a b z c x EMICRO 2016 Synthesis of async controllers from STGs

98 Strategy for logic decomposition
Each decomposition defines a new internal signal Method: Insert new internal signals such that After resynthesis, some large gates are decomposed The new specification is hazard-free Generate candidates for decomposition using standard logic factorization techniques: Algebraic factorization Boolean factorization (boolean relations) EMICRO 2016 Synthesis of async controllers from STGs

99 Decomposition example
1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- y- z- w- y+ x+ z+ x- w+ EMICRO 2016 Synthesis of async controllers from STGs

100 Synthesis of async controllers from STGs
x y w z 1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- y- yz=1 yz=0 1001 1011 z- w- 1000 0001 w+ y+ w- z- x+ 1010 0000 0101 0011 w- y+ x+ z- 0010 0100 x- x+ y+ z+ 0110 0111 EMICRO 2016 Synthesis of async controllers from STGs

101 Synthesis of async controllers from STGs
x y w z y- s 1001 1011 z- s- 1001 w+ 1000 z- y+ s- w- 0011 1000 0001 1010 y+ s- w- z- x+ x- 1010 0000 0101 w- y+ x+ z- 0111 0010 0100 x+ y+ s+ s=0 z+ 0111 0110 EMICRO 2016 Synthesis of async controllers from STGs

102 Synthesis of async controllers from STGs
1001 1011 z- s- s- 1000 1001 w+ z- y+ s- w- z- w- w+ 0011 1000 0001 1010 y+ s- w- z- x+ x- 1010 0000 0101 y+ x+ x- w- y+ x+ z- 0111 0010 0100 x+ y+ s+ s+ z+ s=0 z+ 0111 0110 EMICRO 2016 Synthesis of async controllers from STGs

103 Synthesis of async controllers from STGs
x y w z 1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- y- 1001 1011 z- w- 1000 0001 w+ y+ w- z- x+ 1010 0000 0101 0011 w- y+ x+ z- 0010 0100 x- x+ y+ z+ 0110 0111 yz=0 yz=1 EMICRO 2016 Synthesis of async controllers from STGs

104 Synthesis of async controllers from STGs
1001 1011 s- s- 1001 w+ z- w- 0011 1000 0001 z- w- w+ y+ w- z- x+ x- 1010 0000 0101 w- y+ x+ z- y+ x+ x- 0111 0010 0100 x+ y+ s+ s+ s=0 z+ z+ 0111 0110 z- is delayed by the new transition s- ! EMICRO 2016 Synthesis of async controllers from STGs

105 Synthesis of async controllers from STGs
x y w z s=1 1001 1011 s- 1001 w+ z- w- 0011 1000 0001 y+ w- z- x+ x- 1010 0000 0101 w- y+ x+ z- 0111 0010 0100 x+ y+ s+ y y y y y y y s=0 z+ 0111 0110 EMICRO 2016 Synthesis of async controllers from STGs

106 Synthesis of async controllers from STGs
Burst mode FSM Close to synchronous FSMs with binary encoded I/O Work in bursts: Input transitions fire Output transitions fire State signals change Mostly limited to fundamental mode: next input burst cannot arrive before stabilization at the outputs Extended Burst Mode (XBM) allows certain degree of concurrency a Control x b y c s1 b-/x- a+b+/y+ a-/x+y- s2 s4 c-/y+ c+/y- s3 EMICRO 2016 Synthesis of async controllers from STGs

107 Synthesis of async controllers from STGs
Conclusions Controllers are the tiny (and smart) components of asynchronous systems. Controllers may contain intricate relationships among events: concurrency, causality, choice. Design automation is required. STGs are a friendly formalism for specification: they resemble waveforms. EMICRO 2016 Synthesis of async controllers from STGs

108 Gate vs wire delay models
Gate delay model: delays in gates, no delays in wires Wire delay model: delays in gates and wires EMICRO 2016 Synthesis of async controllers from STGs


Download ppt "Synthesis of asynchronous controllers from Signal Transition Graphs:"

Similar presentations


Ads by Google