Download
stg based synthesis and petrify n.
Skip this Video
Loading SlideShow in 5 Seconds..
STG-based synthesis and Petrify PowerPoint Presentation
Download Presentation
STG-based synthesis and Petrify

STG-based synthesis and Petrify

236 Views Download Presentation
Download Presentation

STG-based synthesis and Petrify

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. J. Cortadella (Univ. Politècnica Catalunya)Mike Kishinevsky (Intel Corporation)Alex Kondratyev (University of Aizu)Luciano Lavagno (Universitá di Udine)Enric Pastor (Univ. Politècnica Catalunya) Alexander Taubin (University of Aizu) Alex Yakovlev (Univ. Newcastle upon Tyne) STG-based synthesis and Petrify

  2. What is it about? • This tutorial is about the synthesis of asynchronous circuits from behavioral specifications. • STGs can specify I/O concurrency(based on Petri nets). • STGs specify behavior at a level in which logic synthesis techniques can be applied. • Speed-independent and timed circuits can be derived.

  3. Specification(STG) Reachability analysis State Graph State encoding SG withCSC Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist Design flow

  4. Outline • Overview • Synthesis steps • Specification (STGs) • State encoding • Logic synthesis, decomposition and mapping • Synthesis with relative timing • Conclusions

  5. x x y y z z z+ x- x+ y+ z- y- Signal Transition Graph (STG)

  6. x y z z+ x- x+ y+ z- y-

  7. xyz 000 x+ 100 y+ z+ z+ x- 110 101 x- x+ y+ z- y- y+ z+ 001 111 y- y+ x- 011 z- 010

  8. xyz 000 x+ 100 y+ z+ 110 101 x- y- y+ z+ 001 111 y+ x- 011 z- 010 Next-state functions

  9. Next-state functions x y z

  10. Specification(STG) Reachability analysis State Graph State encoding SG withCSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist

  11. Bus Data Transceiver DSr LDS Device D LDTACK DSr LDS VME Bus Controller DSw LDTACK D DTACK DTACK Read Cycle VME bus

  12. STG for the READ cycle DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- D LDS DSr VME Bus Controller LDTACK DTACK

  13. DSr+ DSw+ LDS+ D+ LDTACK+ LDS+ LDTACK- DTACK- DTACK- LDTACK- D+ LDTACK+ DTACK+ D- LDS- LDS- DSr- DTACK+ D- DSw- Choice: Read and Write cycles

  14. DSr+ DSw+ LDS+ D+ LDTACK+ LDS+ LDTACK- DTACK- DTACK- LDTACK- D+ LDTACK+ DTACK+ D- LDS- LDS- DSr- DTACK+ D- DSw- Choice: Read and Write cycles

  15. DSr+ DSw+ LDS+ D+ LDTACK+ LDS+ LDTACK- DTACK- DTACK- LDTACK- D+ LDTACK+ DTACK+ D- LDS- LDS- DSr- DTACK+ D- DSw- Choice: Read and Write cycles

  16. DSr+ DSw+ LDS+ D+ LDTACK+ LDS+ LDTACK- DTACK- DTACK- LDTACK- D+ LDTACK+ DTACK+ D- LDS- LDS- DSr- DTACK+ D- DSw- Choice: Read and Write cycles

  17. Circuitsynthesis • Goal: • Derive a hazard-free circuitunder a given delay model andmode of operation

  18. Modes of operation • Fundamental mode • Single-input changes • Multiple-input changes • Input / Output mode • Concurrencycircuit / environment Currentstate Nextstate

  19. Speed independence • Delay model • Unbounded gate / environment delays • Certain wire delays shorter than certain paths in the circuit • Conditions for implementability: • Consistency • Complete State Coding • Output persistency

  20. Other synthesis approaches • Burst-mode machines • Mealy-like FSMs • Fundamental mode (slow environment) • VLSI programming • Syntax-directed translation from CSP(“Communicating Sequential Processes”) • No logic synthesis • Circuit size ~ Size of the specification

  21. Specification(STG) Reachability analysis State Graph State encoding SG withCSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist

  22. STG for the READ cycle DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- D LDS DSr VME Bus Controller LDTACK DTACK

  23. State Graph (Read cycle) DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- DSr+ DTACK- LDS- LDS- LDS- LDTACK+ DSr+ DTACK- D+ D- DTACK+ DSr-

  24. LDS + LDS = 0 LDS - LDS = 1 Binary encoding of signals DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- DSr+ DTACK- LDS- LDS- LDS- LDTACK+ DSr+ DTACK- D+ D- DTACK+ DSr-

  25. 01100 00110 Binary encoding of signals 10000 DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- DSr+ DTACK- 10010 LDS- LDS- LDS- LDTACK+ DSr+ DTACK- 10110 01110 10110 D+ D- DTACK+ DSr- (DSr , DTACK , LDTACK , LDS , D)

  26. ER (LDS+) LDS+ QR (LDS-) LDS- LDS- LDS- ER (LDS-) QR (LDS+) Excitation / Quiescent Regions

  27. LDS+ LDS- LDS- LDS- 10110 10110 Next-state function 0  1 0  0 1  1 1  0

  28. DTACK DSr DTACK DSr D LDTACK D LDTACK 00 00 01 01 11 11 10 10 00 00 01 01 11 11 10 10 Karnaugh map for LDS LDS = 1 LDS = 0 - - - 0 0 - 1 1 - - - - - - - - 1 1 1 - - - - - 0 0 - 0 0 0 - 0/1?

  29. Specification(STG) Reachability analysis State Graph State encoding SG withCSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist

  30. DSr+ DSr+ DSr+ Concurrency reduction LDS+ LDS- LDS- LDS- 10110 10110

  31. Concurrency reduction DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS-

  32. State encoding conflicts LDS+ LDTACK- LDS- LDTACK+ 10110 10110

  33. CSC+ CSC- Signal Insertion LDS+ LDTACK- LDS- LDTACK+ 101101 101100 D- DSr-

  34. Specification(STG) Reachability analysis State Graph State encoding SG withCSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist

  35. Complex-gate implementation

  36. Specification(STG) Reachability analysis State Graph State encoding SG withCSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist

  37. abcx 1000 b+ 0 1 0 1 a 1100 1 x 0 1 1 0 b a- 0 c 1 0 0 0100 c+ 0110 Hazards

  38. abcx 1000 b+ 0 1 0 1 0 0 0 1 a 0 0 1 1 0 0 1 1 z 1100 1 1 b x 1 1 1 0 1 1 1 0 0 0 0 0 0 1 c a- 0 0 1 1 0 1 0 1 0100 c+ 0110 Hazards 1000 1100 1100 0100 0110

  39. Decomposition • Global acknowledgement • Generating candidates • Hazard-free signal insertion • Event insertion • Signal insertion

  40. d- b+ d+ y+ a- y- c+ d- c- d+ z- b- z+ c+ a+ c- c z b a a y b d Global acknowledgement

  41. d- b+ d+ y+ a- y- c+ d- c- d+ z- b- z+ c+ a+ c- c z b a a y b d How about 2-input gates ?

  42. d- b+ d+ y+ a- y- c+ d- c- d+ z- b- z+ c+ a+ c- How about 2-input gates ? c z b a a y b d

  43. d- b+ d+ y+ a- y- c+ d- c- d+ z- b- z+ c+ a+ c- How about 2-input gates ? 0 c 0 z b a a y b d

  44. d- b+ d+ y+ a- y- c+ d- c- d+ z- b- z+ c+ a+ c- How about 2-input gates ? c z b a a y b d

  45. d- b+ d+ y+ a- y- c+ d- c- d+ z- b- z+ c+ a+ c- a b How about 2-input gates ? c z y d

  46. 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 • Generation of candidates for decomposition: • Algebraic factorization • Boolean factorization (boolean relations)

  47. y- y- 1001 1011 z- w- 1000 0001 w+ y+ w- z- x+ z- w- w+ 1010 0000 0101 0011 w- y+ x+ z- y+ x+ x- 0010 0100 x- x+ y+ z+ 0110 0111 z+ Decomposition example

  48. x y- y- y w 1001 1001 1011 1011 z z- z- w- w- y 1000 1000 0001 0001 w+ w+ z y+ y+ x w- w- z- z- x+ x+ w 1010 1010 0000 0000 0101 0101 0011 0011 w w- w- y+ y+ x+ x+ z- z- C z y z 0010 0010 0100 0100 x- x- x+ x+ y+ y+ y z+ z+ C 0110 0110 0111 0111 x z y yz=0 yz=1

  49. x s=1 w y 1001 1011 z- s- z w+ 1001 1000 z- x s- y+ w- w 0011 1000 0001 1010 w y+ s- w- z- x+ x- C z y 1010 0000 0101 z w- y+ x+ z- 0111 y 0010 0100 C x z s+ x+ y+ s=0 z+ y 0111 0110 y- s

  50. y- 1001 1011 z- s- s- s- s- s- s- s- s- w+ 1001 1000 z- y+ w- 0011 1000 0001 z- w- w+ 1010 y+ w- z- x+ x- 1010 0000 0101 w- y+ x+ z- y+ x+ x- 0111 0010 0100 x+ y+ s+ s+ s+ s+ s+ s+ s+ s+ z+ z+ 0111 0110 s=1 y- s- s- s- s+ s=0