1 / 30

Alex Yakovlev, Frank Burns, Alex Bystrov, Albert Koelmans, Delong Shang

Behavioural synthesis of asynchronous controllers: a case study with a self-timed communication channel. Alex Yakovlev, Frank Burns, Alex Bystrov, Albert Koelmans, Delong Shang University of Newcastle upon Tyne Rene Krenz Royal Institute of Technology, Stockholm

zuri
Download Presentation

Alex Yakovlev, Frank Burns, Alex Bystrov, Albert Koelmans, Delong Shang

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Behavioural synthesis of asynchronous controllers: a case study with a self-timed communication channel Alex Yakovlev, Frank Burns, Alex Bystrov, Albert Koelmans, Delong Shang University of Newcastle upon Tyne Rene Krenz Royal Institute of Technology, Stockholm ACiD-WG Workshop, München, Jan.2002

  2. Outline • Motivation • Design flow • Two-level behavioural synthesis • Direct translation from LPNs and STGs • Communication channel case study • Specification, verification, controller synthesis, optimisation and performance • Conclusion

  3. Motivation • Complex asynchronous controllers still cannot be designed fully automatically • Existing logic synthesis tools (cf. Petrify and Minimalist) can only cope with small-scale low level designs (state-space explosion, limited optimisation heuristics) • Logic synthesis produces circuits whose structure does not correspond to their behaviour structure (bad for analysis and testing) • Syntax-direct translation techniques may be a way forward but applied at what level?

  4. Motivation • Applying directly at front-end (cf. Tangram) guarantees design productivity but may produce slow circuits (control flow is driven by program syntax, not by natural operation sequencing) • Ideally, front-end (HDLs) needs efficient simulation support and flexible and rigorous interface with behavioural back-end (labelled Petri nets, STGs) used for synthesis • The back-end must support compositionality and hierarchy (of HDLs) but offer sequencing paradigms (causality and concurrency) for high performance • Optimisations can be applied to back-end models • Direct translation of LPNs and STGs helps structural transparency between specification and implementation

  5. Motivation • Implications to new research targets on: • Translation between HDLs and LPNs, FSMs, STGs, particularly formal underpinning of semantic links between front-end and back-end formats • New composition and decomposition techniques (incl. various forms of refinement and transformations) applied to LPNs/STGs/FSMs • New circuit mapping and optimisation techniques for different types of models (under various delay-dependence or relative time assumptions and different signalling schemes) • Combination of direct mapping with logic synthesis (eg. circuits with predictable latency)

  6. Design flow HDL specification Control/data splitting Hierarchical control spec Datapath spec STG LPN STG to circuit synthesis (Petrify & direct mapping) LPN to circuit synthesis (direct mapping) Data logic synthesis Data logic Hierarchical control logic Our present focus Control&data interfacing HDL implementation

  7. Design flow • What is now being developed at Newcastle? • translation from ‘subset VHDL’ (and other languages) to LPNs and STGs • direct synthesis from LPNs and STGs • combined direct and logic (Petrify) synthesis • optimisation at LPN/STG level (eg. for low latency)

  8. do (X=A) if then else par seq OP1 OP2 OP3 OP4 HDL syntax directed mapping do if (X=A) then par OP1; OP2; rap else seq OP3; OP4; qes if od Control flow is transferred between HDL syntax constructs rather than between operations

  9. (X=A) (X<>A) dum dum OP2 OP1 OP3 OP4 dum Two-level behavioural synthesis do if (X=A) then par OP1; OP2; rap else seq OP3; OP4; qes if od High level control: Labelled Petri net (LPN)

  10. OP1a OP1r OP1a OP1r OP3r OP3a OP3r OP3a dum Data path 1 OP4r OP4a OP4a OP4r req1 ack1 ack1 req1 OP2r+ OP2a+ OP2r OP2a Data path 2 req2+ OP2a+ OP2r- ack2 req2 ack2+ req2- ack2- Two-level behavioural synthesis Low level control: Signal Transition Graphs (STG)

  11. Two-level behavioural synthesis DC1 (X=A) (X<>A) dum dum High-level control logic directly mapped from LPN DC4 DC2 OP2 OP1 OP3 DC5 DC3 OP4 dum Basic David cell (DC)

  12. p2 p1 (0) (1) (1) (0) (1) 1* To Operation Direct mapping of LPNs and STGs to David Cell netlist Controlled Operation p1 p2 Operation can be interpreted as access to datapath (LPN) or as switching a binary (input or output) signal (STG)

  13. linear Gate-level DC implementations LPN-to-DC mapping elements join fork controlled choice arbitrated choice merge input test Direct mapping of LPNs and STGs

  14. Communication channel example • A duplex delay-insensitive channel for low power and pin-efficiency proposed by Steve Furber (AINT’2002) • Relatively simple data path (with handshake access via push and pull protocols) • Sophisticated control (involves arbitration, choice and concurrency) • Natural two-level control decomposition • Requires low-latency (existing STG and BM solutions produce too heavy logic)

  15. Channel Structure N-of-M code Master Slave N-of-M code N-of-M codes: dual-rail, 3-of-6,2-of-7 Key Protocol Symbols (e.g. in dual rail): Start (01), Ack (10), Slave-Ack (11), Data (01 or 10)

  16. Protocol Specification Protocol Automaton Master Slave The protocol can be defined on an imaginary Protocol Automaton receiving symbols from both sides (it will hide all activity internal to Master and Slave)

  17. Protocol Specification Protocol Automaton Master Slave

  18. Protocol Refined (for Dual Rail encoding)

  19. Protocol Verification m01m m01s m10m m10s Master Slave s01s s01m s10s s10m Properties to be verified: absence of deadlock and delay-insensitivity (w.r.t. delays in the channel wires)

  20. Protocol Verification Fragment of the master subnet for verification Petri net model of the protocol for verification These places must be 1-safe to have freedom from communication interference (delay-insensitivity)

  21. Protocol Verification The Petri net unfolding prefix was constructed by tool PUNT and checked: There are no deadlocks The net is 1-safe w.r.t. channel places (which proves delay-insensitivity)

  22. Controller Overview Data path and low level control High Level control push push push pull pull

  23. Low-level logic Tx controller Sending interface

  24. LPN model for high level control (master) Calls to local arbiters Slave-Ack pull pulls Three-way pushes pushes Three-way pulls dummies inserted for direct DC mapping

  25. High level control (master) mapped directly from LPN dummies push push pull push pull arbiter1 push arbiter2 pull pull push push

  26. Towards synthesis for higher performance push dummy pull pull Is the dummy in the right place? It is on the cycle of (output) push and (input) pull: pull->dummy->push->pull-dummy->push -> …

  27. Towards synthesis for higher performance Critical path push Non-critical path dummy Synthesis rule: Don’t insert dummies on critical paths pull

  28. Synthesis for lower I/O latency LPN level High-level control internal actions pull push pull … … Low latency shortcut pull logic push logic pull logic input input output … Environment (channel)

  29. Channel Cycle Time • These results were obtained for 0.6 micro CMOS • Further improvement can be achieved by more use of low latency techniques (at the gate level) and introducing aggressive relative timing, in David cells and low level logic

  30. Conclusion • Hierarchical (eg. Protocol) controller synthesis can go via back-end LPN/STG models • Direct mapping from LPNs/STGs yields fast circuits that are easy to analyse and test • Translation from PNs to David cell netlists implemented in tool pn2dc • Translation from FSM VHDL specs to LPNs and STGs implemented in tools fsm2lpn and fsm2stg • Further work needed on: • Formal link between HDLs and PNs (semantics and equivalence), leading to better synthesis of PNs from HDLs • Optimisation techniques at LPN/STG and circuit levels • See our papers in Async’02 and 11th UK Async Forum

More Related