Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.

Similar presentations


Presentation on theme: "Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle."— Presentation transcript:

1 Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle upon Tyne

2 2 Outline Motivation Background Signal Transition Graph and its unfolding State encoding problem Detection of coding conflicts Visualisation and Resolution of conflicts Case study Conclusions and future work

3 3 Motivation International Technology Roadmap for Semiconductors (ITRS) system complexity  communication over computation communications-centric design  distributed implementation over centralised implementation time domain 1 time domain 2 asynchronous interface (glue-logic)

4 4 Motivation Design Flow Reachability analysis State encoding Boolean minimization Logic decomposition Technology mapping Specification Signal Transition Graph State Graph Complete State Encoding Next-state functions Decomposed functions Gate netlist Complete State Encoding Next-state functions Decomposed functions Gate netlist Specification Signal Transition Graph dtack- dsr+ lds+ d- lds-ldtack- ldtack+ d+ dtack+ dsr- State Graph dtack-dsr+ dtack-dsr+ dtack-dsr+ 01000 ldtack- 00000 10000 lds- 01010 00010 10010 lds+ ldtack+ d+ dtack+dsr- d- 01110 00110 10110 011111111110111 10110 10100 Complete State Encoding dtack-dsr+ dtack-dsr+ dtack-dsr+ 010000 ldtack- 000000 100000 lds- 010100 000100 100100 lds+ ldtack+ d+ dtack+dsr- d- 011100 001100 101100 011111111111101111 101101 101001 011110 csc+ csc- 100001 Next-state functions Decomposed functions Gate netlist DTACK D DSr LDS LDTACK csc map Resolution of coding conflicts

5 5 Motivation state coding is a necessary for implementability manual vs. automatic resolution of coding conflicts automatic  can produce sub-optimal solutions manual  crucial for finding good (low-latency, compact & elegant) synthesis solutions interactivity is good! visualisation concept: emphasise on essential & compact elements

6 6 Signal Transition Graph (STG) Device VME Bus Controller lds ldtack d Data Transceiver Bus dsr dsw dtack dsr lds ldtack d dtack dtack- dsr+ lds+ d- lds-ldtack- ldtack+ d+ dtack+ dsr-

7 7 dtack- dsr+ lds+ d- lds-ldtack- ldtack+ d+ dtack+ dsr- Signal Transition Graph (STG) Device VME Bus Controller lds ldtack d Data Transceiver Bus dsr dsw dtack Read cycle

8 8 Implementation problem: State Enoding pairs of semantically different states with the same binary encoding not distinguishable at the circuit level necessary condition for deriving the logic implementation: Complete State Coding (CSC): 2 states may have the same code iff the set of non-input signals is the same

9 9 dtack-dsr+ dtack-dsr+ dtack-dsr+ 01000 ldtack- 00000 10000 lds- 01010 00010 10010 lds+ ldtack+ d+ dtack+dsr- d- 01110 00110 10110 011111111110111 10110 10100 M’’M’ dtack-dsr+ dtack-dsr+ dtack-dsr+ 01000 ldtack- 00000 10000 lds- 01010 00010 10010 lds+ ldtack+ d+ dtack+dsr- d- 01110 00110 10110 011111111110111 10110 10100 Example: CSC conflict

10 10 M’’M’ Example: enforcing CSC dtack-dsr+ dtack-dsr+ dtack-dsr+ 010000 ldtack- 000000 100000 lds- 010100 000100 100100 lds+ ldtack+ d+ dtack+dsr- d- 011100 001100 101100 011111111111101111 101101 101001 011110 csc+ csc- 100001

11 11 STG unfolding partial order model acyclic net, infinite, simple structure finite complete prefix finite initial part of unfolding alleviate state space explosion problem contains all reachable states more visual then state graphs proven efficient for model checking

12 12 State Graphs vs. Unfoldings lds- e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e7 e9e9 e 11 e 12 e 10 e8e8 dsr+ ldtack+ dsr- ldtack- lds+ d+ dtack+ d- dtack- dsr+ lds+ M’ M’’ M’ M’’ dtack-dsr+ dtack-dsr+ dtack- dsr+ 01000 ldtack- 00000 10000 lds- 01010 00010 10010 lds+ ldtack+ d+ dtack+ dsr- d- 01110 00110 10110 011111111110111 10110 10100 initial state transitions

13 13 Visualisation of coding conflicts representation of conflicts as pairs of configurations is not efficient already a small number of conflicts is difficult to depict Propagation effect 888 CSC conflicts!

14 14 Visualisation of coding conflicts visualising only the essential parts involved in conflicts compact representation avoids explicit representation based on complementary sets {b0+,b1+,b0-,b1-}

15 15 Coding conflict detection in a prefix integer programming technique V. Khomenko, M. Koutny and A. Yakovlev: Detecting State Coding Conflicts in STGs Using Integer Programming. Proc of DATE’02, IEEE Comp. Soc. Press (2002) 338-345. CSC conflict representation as unordered conflict pair of configurations C1C1 C2C2

16 16 Classification of conflicts type I: C 1  C 2 type II: C 1 \C 2 ≠  ≠ C 2 \C 1, and there exist e 1  C 1 \C 2 and e 2  C 2 \C 1 such that e 1 # e 2 Conflicts of type I and II C1C1 C2C2 C1C1 C2C2 e1e1 e2e2

17 17 Cores complementary set CS=C 1  C 2  C 1,C 2  is a conflict pair  is the symmetric set difference CS is of type I/II if  C 1,C 2  is of type I/II CS is a core if it cannot be represented as union of several disjoint complementary sets

18 18 Resolution of coding conflicts Core t+ t- introduction of additional internal signals destroying cores insert t+ in a core t- must be added outside the core preserving signal consistency inserted transitions cannot trigger an input signal

19 19 Visualisation of conflicts: Height map Core 1 Core 3 Core 2 cores often overlap high-density areas are good candidates for signal insertion analogy with physical map in geography A1 A2 A3

20 20 Height map: an example Core mapHeight map csc 1 +

21 21 Given an STG with conflicts Overview of resolving process Construction of STG’s prefix & computation of cores

22 22 Overview of resolving process Conflicts exists? No -> process terminated Yes -> Phase 1 & 2 Location is determinate where t+ & t- is inserted

23 23 Overview of resolving process Transferring inserted signal to STG Process can consists of several cycles, depending on the number of cores

24 24 Phase 1 Case study: part of async. AD converter controller csc 1 + Phase 1 Core map Height map

25 25 csc 1 + Phase 2 csc 1 - Height map Core map csc 1 + Case study: part of async. AD converter controller

26 26 Case study: Handshake decoupling element Core mapPart of the solving process csc 1 + csc 1 - Phase 1Phase 2 csc 1 +

27 27 Case study: Handshake decoupling element initial STG STG derived by our method

28 28 Conclusions approach for visualisation and resolution of state coding conflict was designed main ingredients of the approach compact representation of concurrent behaviour compact representation of conflicts compact representation of constrains for resolution unfolding prefix+ cores+ height map

29 29 Future work improving our tool ConfRes using concurrency reduction in addition to signal insertion for resolving conflicts using timing assumptions full design cycle based on STG unfoldings, not involving state graphs at any stage ACSD 2003


Download ppt "Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle."

Similar presentations


Ads by Google