1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology.

Slides:



Advertisements
Similar presentations
Delay models (I) A B C Real (analog) behaviorAbstract behavior A B C Abstractions are necessary to define delay models manageable for design, synthesis.
Advertisements

Self-Timed Logic Timing complexity growing in digital design -Wiring delays can dominate timing analysis (increasing interdependence between logical and.
ECE C03 Lecture 71 Lecture 7 Delays and Timing in Multilevel Logic Synthesis Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Based on: Petri Nets and Industrial Applications: A Tutorial
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
1 BalsaOpt a tool for Balsa Synthesis Francisco Fernández-Nogueira, UPC (Spain) Josep Carmona, UPC (Spain)
Self-Timed Systems Timing complexity growing in digital design -Wiring delays can dominate timing analysis (increasing interdependence between logical.
IE 469 Manufacturing Systems
Hazard-free logic synthesis and technology mapping I Jordi Cortadella Michael Kishinevsky Alex Kondratyev Luciano Lavagno Alex Yakovlev Univ. Politècnica.
Hardware and Petri nets Synthesis of asynchronous circuits from Signal Transition Graphs.
Logic Decomposition of Asynchronous Circuits Using STG Unfoldings Victor Khomenko School of Computing Science, Newcastle University, UK.
Petri Nets Overview 1 Definition of Petri Net C = ( P, T, I, O) Places P = { p 1, p 2, p 3, …, p n } Transitions T = { t 1, t 2, t 3, …, t n } Input.
Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.
ECE 331 – Digital System Design Introduction to and Analysis of Sequential Logic Circuits (Lecture #20) The slides included herein were taken from the.
Detecting State Coding Conflicts in STGs Using Integer Programming Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.
Hardware and Petri nets: application to asynchronous circuit design Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
Introduction to asynchronous circuit design: specification and synthesis Jordi Cortadella, Universitat Politècnica de Catalunya, Spain Michael Kishinevsky,
Introduction to asynchronous circuit design: specification and synthesis Part IV: Synthesis from HDL Other synthesis paradigms.
© Ran GinosarAsynchronous Design and Synchronization 1 VLSI Architectures Lecture 2: Theoretical Aspects (S&F 2.5) Data Flow Structures.
Introduction to asynchronous circuit design: specification and synthesis Part III: Advanced topics on synthesis of control circuits from STGs.
1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.
Asynchronous Sequential Logic
Introduction to asynchronous circuit design: specification and synthesis Part II: Synthesis of control circuits from STGs.
Combining Decomposition and Unfolding for STG Synthesis (application paper) Victor Khomenko 1 and Mark Schaefer 2 1 School of Computing Science, Newcastle.
1 Logic synthesis from concurrent specifications Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain In collaboration with M. Kishinevsky,
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
1 Logic design of asynchronous circuits Part III: Advanced topics on synthesis.
Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.
Bridging the gap between asynchronous design and designers Part II: Logic synthesis from concurrent specifications.
Resolution of Encoding Conflicts by Signal Insertion and Concurrency Reduction based on STG Unfoldings V. Khomenko, A. Madalinski and A. Yakovlev University.
Behaviour-Preserving Transition Insertions in Unfolding Prefixes
STG-based synthesis and Petrify J. Cortadella (Univ. Politècnica Catalunya) Mike Kishinevsky (Intel Corporation) Alex Kondratyev (University of Aizu) Luciano.
1 Exact Two-Level Minimization of Hazard-Free Logic with Multiple Input Changes Montek Singh Tue, Oct 16, 2007.
1 State Encoding of Large Asynchronous Controllers Josep Carmona and Jordi Cortadella Universitat Politècnica de Catalunya Barcelona, Spain.
Synthesis of Asynchronous Control Circuits with Automatically Generated Relative Timing Assumptions Jordi Cortadella, University Politècnica de Catalunya.
UFO’07 26 June 2007 Siedlce 1 Use of Partial Orders for Analysis and Synthesis of Asynchronous Circuits Alex Yakovlev School of EECE University of Newcastle.
A New Type of Behaviour- Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko.
Detecting State Coding Conflicts in STGs Using SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University of Newcastle upon Tyne.
1 A Case for Using Signal Transition Graphs for Analysing and Refining Genetic Networks Richard Banks, Victor Khomenko and Jason Steggles School of Computing.
1 Petrify: Method and Tool for Synthesis of Asynchronous Controllers and Interfaces Jordi Cortadella (UPC, Barcelona, Spain), Mike Kishinevsky (Intel Strategic.
Automatic synthesis and verification of asynchronous interface controllers Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
Digital Computer Design Fundamental
StateCAD FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe how.
A Usable Reachability Analyser Victor Khomenko Newcastle University.
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
Hardware Design and The Petri Net Abhijit K. Deb SAM, LECS, IMIT, KTH Kista, Stockholm.
Curtis A. Nelson 1 Technology Mapping of Timed Circuits Curtis A. Nelson University of Utah September 23, 2002.
CAP 4800/CAP 5805: Computer Simulation Concepts
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
Petrify Massoud Daneshtalab Mohammad Riazati. VSTGL Tool:.inputs b a.outputs d c.graph P0 b+ a+ P1 b- b+ c+ c+ P1 c- P0 b- c- a+ b+/1 b+/1 d+ d+ c+/1.
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
1 Asynchronous Sequential Logic For most figures:.
Structural methods for synthesis of large specifications
Victor Khomenko Newcastle University
Week #7 Sequential Circuits (Part B)
Synthesis from HDL Other synthesis paradigms
Asynchronous Interface Specification, Analysis and Synthesis
Synthesis of Speed Independent Circuits Based on Decomposition
Part IV: Synthesis from HDL Other synthesis paradigms
Clockless Computing COMP
CPE/EE 422/522 Advanced Logic Design L02
Concurrent Systems Modeling using Petri Nets – Part II
Synthesis of asynchronous controllers from Signal Transition Graphs:
Petri Net :Abstract formal model of information flow Major use:
Introduction to Silicon Programming in the Tangram/Haste language
Presentation transcript:

1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 2Outline Control Circuits Control Circuits Petri Nets & Signal Transition Graphs Petri Nets & Signal Transition Graphs Properties Properties Common PN/STG fragments Common PN/STG fragments Synthesis of SI control circuits Synthesis of SI control circuits State Encoding State Encoding Next-state functions Next-state functions Implementation Implementation Synthesis tool: Petrify Synthesis tool: Petrify

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 3 Control Circuits Control logic essential part of asynchronous circuits Control logic essential part of asynchronous circuits How to specify? How to specify? How to implement? How to implement? Control ? Latch Comb.Logic Latch Comb.Logic Latch ReqReqReqAckAckAck Req Ack Req Ack

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 4 Petri Nets (PNs) For modelling concurrent systems For modelling concurrent systems Directed graph with nodes and arcs Directed graph with nodes and arcs Nodes: places, transitions Nodes: places, transitions Places can be marked with tokens Places can be marked with tokens Transition is enabled (allowed to fire) if all input places have tokens Transition is enabled (allowed to fire) if all input places have tokens When a transitions fires: When a transitions fires: Token removed from all input places Token removed from all input places Token added to each output place Token added to each output place

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 5STGs Restricted subclass of petri nets Restricted subclass of petri nets PN transitions = signal transitions PN transitions = signal transitions Simple places omitted (places with a single input and a single output) Simple places omitted (places with a single input and a single output) Places/arcs represent causal relationships between signal transitions Places/arcs represent causal relationships between signal transitions Marking represents circuit state Marking represents circuit state

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 6 PN/STG - Example Muller C-gate Source: [Sparso 06]

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 7 Properties of STGs I Input free choice Input free choice Alternative transitions only controlled by mutually exclusive inputs Alternative transitions only controlled by mutually exclusive inputs 1-bounded 1-bounded Max. one token per place Max. one token per place Liveness Liveness STG is live iff from every reachable marking, every transition can eventually fire STG is live iff from every reachable marking, every transition can eventually fire

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 8 Typical PN/STG Fragments Choice Merge ForkJoin

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 9 PN/STG Fragments - Example Source: [Sparso 06]

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 10 Properties for STGs II STGs can be implemented as speed- independent circuits. Requirements: STGs can be implemented as speed- independent circuits. Requirements: Consistent state assignment Consistent state assignment In any execution, any transition alternates between rising and falling In any execution, any transition alternates between rising and falling Persistency Persistency Enabled signals will eventually fire, cannot be disabled by other transition Enabled signals will eventually fire, cannot be disabled by other transition Complete state coding (CSC) Complete state coding (CSC) Different markings must represent different states Different markings must represent different states

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 11 Speed-Independence (SI) Delay-model: speed-independence Delay-model: speed-independence Arbitrary gate delays (bounded but unknown) Arbitrary gate delays (bounded but unknown) Ideal zero-delay wires Ideal zero-delay wires Source: [Sparso 06]

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 12 STG Synthesis Specification State graph State Graph with CSC Next-State functions Decomposed functions Gate netlist Reachability analysis State encoding Boolean minimization Logic decomposition Technology mapping

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 13Specification Source: [Sparso 06]

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 14 State Graph b+ c+ b- c- a+ b+ d+ c+ d- a- (a,b,c,d)

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 15 Excitation Regions for Output Signal c b+ c+ b- c- a+ b+ d+ c+ d- a- QR1(c+) ER1(c+) ER2(c+) ER1(c-)

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 16 Quiescent Regions for Output Signal c b+ c+ b- C- a+ b+ d+ c+ d- a- QR1(c+) QR1(c-)

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 17 Next-State Functions KV Diagram for c cd ab xxF 01Rxx1 110R11 100xxx b+ c+ b- C- a+ b+ d+ c+ d- a- QR1(c+) ER1(c+) ER2(c+) ER1(c-) QR1(c-)

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 18 Atomic Complex Gate Implementation cd ab xxF 01Rxx1 110R11 100xxx c = d + a‘b + bc Attention: Decomposition into simple gates can introduce hazards!

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 19 State-holding Gates Implementation Signals toggle between excitation and quiescent/stable regions Signals toggle between excitation and quiescent/stable regions ER(c+)  QR(c+)  ER(c-)  QR(c-) etc. ER(c+)  QR(c+)  ER(c-)  QR(c-) etc. Implementation with SR-latches, C- gates or generalized C-gates possible Implementation with SR-latches, C- gates or generalized C-gates possible Generalized C- element Source: [Sparso 06]

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 20 State-holding Gates Set/Reset Functions c = Set + c ∙ Reset‘ c = Set + c ∙ Reset‘ Set ∙ Reset = 0 Set ∙ Reset = 0 Set Function: Set Function: must contain all states in ER(c+) must contain all states in ER(c+) may contain states in QR(c+) may contain states in QR(c+) may contain not reachable states may contain not reachable states Reset Function: Reset Function: must contain all states in ER(c-) must contain all states in ER(c-) may contain states in QR(c-) may contain states in QR(c-) may contain not reachable states may contain not reachable states

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 21 State-holding Gates Implementation cd ab xxF 01Rxx1 110R11 100xxx Set function: c-set = d + a‘b

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 22 State-holding Gates Implementation cd ab xxF 01Rxx1 110R11 100xxx Set function: c-set = d + a‘b Reset function: c-reset = b‘

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 23 State-holding Gates Implementation cd ab xxF 01Rxx1 110R11 100xxx Set function: c-set = d + a‘b Reset function: c-reset = b‘

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 24 State-holding Gates Hazards cd ab xxF 01Rxx1 110R11 100xxx b+ c+ b- c- a+ b+ d+ c+ d- a- 010010010010 010010010010 0101 0 010010010010

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 25 State-holding Gates Monotonic Cover Constraint A cube (product term) may only be entered through ER states (monotonic cover or unique entry constraint) A cube (product term) may only be entered through ER states (monotonic cover or unique entry constraint) cd ab xxF 01Rxx1 110R11 100xxx Hazardous set function: c-set = d + a‘b

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 26 State-holding Gates Monotonic Cover Constraint A cube (product term) may only be entered through ER states (monotonic cover or unique entry constraint) A cube (product term) may only be entered through ER states (monotonic cover or unique entry constraint) cd ab xxF 01Rxx1 110R11 100xxx Fixed set function: c-set = d + a‘bc‘

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 27 Example VME Bus Controller LDS+LDTACK+D+ DTACK- DTACK+DSr-D- DSr+ LDS-LDTACK- VME Bus Controller DSr DTACK LDS LDTACK D STG of Read Cycle

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 28 VME Bus Controller CSC Conflict DSr DSr+ DSr+ DTACK- DTACK- DTACK- LDTACK-LDTACK- LDTACK- LDS-LDS-LDS- LDS+ LDTACK+ D+ DTACK+ DSr- D- (DSr, DTACK, LDTACK, LDS, D)

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 29 VME Bus Controller CSC Conflict LDS+LDTACK+D+ DTACK- DTACK+DSr-D- DSr+ LDS-LDTACK LDS+LDTACK+D+ DTACK- DTACK+DSr-D- DSr+ LDS-LDTACK

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 30 Resolving CSC Conflict Concurrency Reduction Solution I: Remove conflict state by concurrency reduction Solution I: Remove conflict state by concurrency reduction DSr DSr+ DSr+ DTACK- DTACK- DTACK- LDTACK-LDTACK- LDTACK- LDS-LDS-LDS- LDS+ LDTACK+ D+ DTACK+ DSr- D-

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 31 Resolving CSC Conflict Concurrency Reduction Solution I: Remove conflict state by concurrency reduction Solution I: Remove conflict state by concurrency reduction DSr DSr+ DTACK- DTACK- DTACK- LDTACK-LDTACK- LDTACK- LDS-LDS- LDS+ LDTACK+ D+ DTACK+ DSr- D-

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 32 Resolving CSC Conflict Concurrency Reduction Concurrency reduction reflected by adding an arc to the STG specification. Concurrency reduction reflected by adding an arc to the STG specification. Introduces timing assumption (LDS- before DSr+) Introduces timing assumption (LDS- before DSr+) LDS+LDTACK+D+ DTACK- DTACK+DSr-D- DSr+ LDS-LDTACK-

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 33 Resolving CSC Conflict Adding State Signal Solution II: Inserting an internal state signal to make conflict states unique Solution II: Inserting an internal state signal to make conflict states unique DSr DSr+ DSr+ DTACK- DTACK- DTACK- LDTACK-LDTACK- LDTACK- LDS-LDS-LDS- LDS+ LDTACK+ D+ DTACK+ DSr- D- (DSr, DTACK, LDTACK, LDS, D, CSC) CSC CSC-

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 34Petrify Synthesis of speed independent control circuits from STG specifcations Synthesis of speed independent control circuits from STG specifcations Simple text format for describing STGs Simple text format for describing STGs Petrify can solve CSC problem Petrify can solve CSC problem Public domain tool Public domain tool Developed at different universities Developed at different universities

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 35 Petrify - Example.model cgate.inputs a b.outputs c.graph a+ c+ b+ c+ c+ a- c+ b- a- c- b- c- c- a+ c- b+.marking { }.end

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 36Petrify Set of command-line tools Set of command-line tools petrify: synthesis command petrify: synthesis command write_sg: derives state graph write_sg: derives state graph draw_astg: draws STGs/state graphs draw_astg: draws STGs/state graphs Different circuit implementations Different circuit implementations Complex gates (-cg) Complex gates (-cg) Generalized C-elements (-gc) Generalized C-elements (-gc) Specific target library (-tm) Specific target library (-tm)

Lecture "Advanced Digital Design"© A. Steininger & J. Lechner / TU Vienna 37Summary Control logic essential part of asynchronous circuits Control logic essential part of asynchronous circuits PNs/STGs convenient for modeling control circuits PNs/STGs convenient for modeling control circuits STGs need to fulfill certain properties STGs need to fulfill certain properties Input-free choice, 1-bounded, CSC, etc. Input-free choice, 1-bounded, CSC, etc. Synthesis from STGs to SI gate implementations possible Synthesis from STGs to SI gate implementations possible Tool available: Petrify Tool available: Petrify