Asynchronous Interface Specification, Analysis and Synthesis

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

Algorithmic Software Verification VII. Computation tree logic and bisimulations.
1 BalsaOpt a tool for Balsa Synthesis Francisco Fernández-Nogueira, UPC (Spain) Josep Carmona, UPC (Spain)
1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology.
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.
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.
Formal Verification of Safety Properties in Timed Circuits Marco A. Peña (Univ. Politècnica de Catalunya) Jordi Cortadella (Univ. Politècnica de Catalunya)
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.
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.
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 Machines
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.
Jordi Cortadella, Universitat Politècnica de Catalunya, Spain
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 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 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.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
A Usable Reachability Analyser Victor Khomenko Newcastle University.
UK Asynchronous Forum, September Synthesis of multiple rail phase encoding circuits Andrey Mokhov, Crescenzo D’Alessandro, Alex Yakovlev Microelectronics.
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
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.
Lecture 11: FPGA-Based System Design October 18, 2004 ECE 697F Reconfigurable Computing Lecture 11 FPGA-Based System Design.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
Structural methods for synthesis of large specifications
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
Victor Khomenko Newcastle University
Chapter #6: Sequential Logic Design
Synthesis from HDL Other synthesis paradigms
Synthesis of Speed Independent Circuits Based on Decomposition
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Part IV: Synthesis from HDL Other synthesis paradigms
Vishwani D. Agrawal Department of ECE, Auburn University
Basic Delay in Gates Definitions
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
CSE 370 – Winter Sequential Logic-2 - 1
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
CSE 370 – Winter Combinational Implementation - 1
Synthesis of asynchronous controllers from Signal Transition Graphs:
Clockless Logic: Asynchronous Pipelines
Synthesis of multiple rail phase encoding circuits
SEQUENTIAL CIRCUITS __________________________________________________
Presentation transcript:

Asynchronous Interface Specification, Analysis and Synthesis J. Cortadella Universitat Politècnica de Catalunya, Barcelona M. Kishinevsky Intel Corporation Thanks to: Alex Kondratyev (The University of Aizu)

What is it about? This tutorial is not about asynchronous signals coming into a synchronous circuit, hence not about synchronization problem It is about asynchronous circuits communicating via handshakes or timing assumptions Note: slides contain no references. All references can be found in the paper

Motivation Interfaces are often asynchronous Subsystems with different clocks often want to talk to each other Self timing provides functional and temporal modularity … and no clock skew, low power, low EMI, average performance, ...

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

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

x y z x+ x- y+ y- z+ z-

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

Synchronous xyz 000 100 101 110 111 001 011 010 Asynchronous x+ z+ y+ Current state Next state Asynchronous Current state Next state

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

Next-state functions x z y

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

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

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

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-

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

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

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

Circuit synthesis Goal: Derive a hazard-free circuit under a given delay model and mode of operation

Modes of operation Fundamental mode Input / Output mode Single-input changes Multiple-input changes Input / Output mode Concurrency circuit / environment Current state Next state

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

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

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

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

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

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-

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)

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

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

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

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

Concurrency reduction DSr+ LDS+ LDS- LDS- LDS- 10110 10110

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

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

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

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

Complex-gate implementation

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

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

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

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

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

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

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

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

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

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

Strategy for correct logic decomposition Each decomposition defines a new internal signal of the circuit Method: Insert new internal signals such that After resynthesis, some large gates are decomposed The new specification is hazard-free under unbounded gate delays

- Algebraic factorization Decomposition -Boolean relations - Algebraic factorization C Sr D F C C D until no more progress Sr Sr Hazard-free ? (Signal insertion) C D C NO YES

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+

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

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

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

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

s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ y- z- w- w+ y+ x+ x- 1001 1011 s- s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ 1001 w+ z- 0001 0000 0101 0010 0100 0110 x+ w- z- y+ 0011 1000 z- w- w+ y+ x- 1010 y+ x+ x- 0111 s+ s=0 z+ z+ 0111 z- is delayed by the new transition s- !

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

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

Technology mapping BDD-based Boolean matching Handles sequential gates and combinational feedbacks Merging small gates into larger gates introduces no new hazards

Timing optimization Specification (STG) State Graph SG with CSC Reachability analysis State Graph State encoding SG with CSC Timing optimization Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist

Timing optimization If exact timing bounds are unknown, use relative timing assumptions “a+ before b+” a+ b+

Timing assumptions For concurrent events For ordered events concurrency reduction (some states become unreachable) For ordered events early enabling (but without introducing new reachable states)

READ control in 2-input gates DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- D DTACK LDS map csc DSr LDTACK

Adding timing assumptions (I) LDS+ LDTACK+ D+ DTACK+ DSr- D- DTACK- LDS- LDTACK- DSr+ LDTACK- before DSr+ D DTACK FAST SLOW LDS map csc DSr LDTACK

Adding timing assumption (I) LDS+ LDTACK+ D+ DTACK+ DSr- D- DTACK- LDS- LDTACK- DSr+ DTACK D DSr LDS LDTACK LDTACK- before DSr+ TIMING CONSTRAINT

Timing optimization for ordered events Early enabling: b a c b a b c c a b c

Adding timing assumptions (II) DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- D- before LDS- LDTACK- LDS- D DTACK LDS DSr LDTACK

Adding timing assumptions (II) DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- DTACK D DSr LDS LDTACK LDTACK- before DSr+ and D- before LDS- TIMING CONSTRAINT

Formal verification Property verification Implementation verification Implementability properties Consistency, persistency, state coding … Behavioral properties (safeness, liveness) Mutual exclusion, “ack” after “req”, ... Implementation verification Circuit  Specification Circuit < Specification

Fighting the state explosion FSM-like verification methods: Symbolic methods (BDDs) Partial order reductions Petri-net based methods: Petri net unfoldings Structural theory (invariants)

Testing of asynchronous circuits Can be more expensive than for synchronous Scan-based and IDDQ techniques can be used for stuck-at, delay and bridging faults There are ATPG techniques

Summary Asynchronous design is applicable to asynchronous interfaces high-performance computing low-power design low-emission design There is an increasing interest of a few companies: Intel, Philips, Sun, Sharp, ARM, HP, Cogency

Summary (continued) Asynchronous circuits are more difficult to design than synchronous Clock distribution and on-die variations makes synchronous design more difficult CAD support is crucial CAD tools have matured All synthesis steps of the design flow presented in this tutorial are supported by the tool Petrify