Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.

Slides:



Advertisements
Similar presentations
Self-Timed Logic Timing complexity growing in digital design -Wiring delays can dominate timing analysis (increasing interdependence between logical and.
Advertisements

INPUT-OUTPUT ORGANIZATION
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
Introduction to VLSI Programming TU/e course 2IN30 Lecture 3: Control Handshake Circuits (2)
Clockless Logic System-Level Specification and Synthesis Ack: Tiberiu Chelcea.
VLSI Programming of Asynchronous circuits for Low Power Kees van Berkel Philips Research Lab. Martin Rem Eindhoven University of Technology.
Self-Timed Systems Timing complexity growing in digital design -Wiring delays can dominate timing analysis (increasing interdependence between logical.
Southampton: Oct 99Asynchronous Circuit Compilation- 1 Asynchronous Circuit Compilation Dr. Doug Edwards
1 Logic Design of Asynchronous Circuits Jordi Cortadella Jim Garside Alex Yakovlev Univ. Politècnica de Catalunya, Barcelona, Spain Manchester University,
K-Maps, Timing Sequential Circuits: Latches & Flip-Flops Lecture 4 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier,
1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology.
TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.
P. Keresztes, L.T. Kóczy, A. Nagy, G.Rózsa: Training Electrical Engineers on Asynchronous Logic Circuits on Constant Weight Codes 1 Training Electrical.
Jordi Cortadella, Universitat Politecnica de Catalunya, Barcelona Mike Kishinevsky, Intel Corp., Strategic CAD Labs, Hillsboro.
Digital Integrated Circuits© Prentice Hall 1995 Timing ISSUES IN TIMING.
1 Clockless Logic Montek Singh Thu, Jan 13, 2004.
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.
The Control Unit: Sequencing the Processor Control Unit: –provides control signals that activate the various microoperations in the datapath the select.
ELEC 6200, Fall 07, Oct 24 Jiang: Async. Processor 1 Asynchronous Processor Design for ELEC 6200 by Wei Jiang.
Jordi Cortadella, Universitat Politècnica de Catalunya, Spain
1 Bridging the gap between asynchronous design and designers Thanks to Jordi Cortadella, Luciano Lavagno, Mike Kishinevsky and many others.
Models of Computation for Embedded System Design Alvise Bonivento.
ENEE 408C Lab Capstone Project: Digital System Design Fall 2005 Sequential Circuit Design.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
1 Bridging the gap between asynchronous design and designers Peter A. BeerelFulcrum Microsystems, Calabasas Hills, CA, USA Jordi CortadellaUniversitat.
Fall 2009 / Winter 2010 Ran Ginosar (
INPUT-OUTPUT ORGANIZATION
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Building Functions.
Asynchronous Circuits Kent Orthner Wed. March 2nd, 2005 Presentation for: High speed and Low Power VLSI, Dr. Maitham Shams Kent Orthner Wed. March 2nd,
ECE 2372 Modern Digital System Design
Amitava Mitra Intel Corp., Bangalore, India William F. McLaughlin
MOUSETRAP Ultra-High-Speed Transition-Signaling Asynchronous Pipelines Montek Singh & Steven M. Nowick Department of Computer Science Columbia University,
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
Area and Speed Oriented Implementations of Asynchronous Logic Operating Under Strong Constraints.
Linear Algebra. Circuits The circuits in computers and other input devices have inputs, each of which is either a 0 or 1, the output is also 0s and 1s.
Computer Organization & Programming Chapter 5 Synchronous Components.
12004 MAPLD: 153Brej Early output logic and Anti-Tokens Charlie Brej APT Group Manchester University.
Reader: Pushpinder Kaur Chouhan
Modelling by Petri nets
CEC 220 Digital Circuit Design Timing Diagrams, MUXs, and Buffers Friday, February 14 CEC 220 Digital Circuit Design Slide 1 of 18.
CEC 220 Digital Circuit Design Timing Diagrams, MUXs, and Buffers
Lecture 11: FPGA-Based System Design October 18, 2004 ECE 697F Reconfigurable Computing Lecture 11 FPGA-Based System Design.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Introduction to ASIC flow and Verilog HDL
1 Practical Design and Performance Evaluation of Completion Detection Circuits Fu-Chiung Cheng Department of Computer Science Columbia University.
1 Bridging the gap between asynchronous design and designers Peter A. BeerelFulcrum Microsystems, Calabasas Hills, CA, USA Jordi CortadellaUniversitat.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
1 Advanced Digital Design Asynchronous Design Automation by A. Steininger and J. Lechner Vienna University of Technology.
System-on-Chip Design Homework Solutions
Class Exercise 1B.
Other Approaches.
Advanced Digital Design
Synthesis from HDL Other synthesis paradigms
Asynchronous Interface Specification, Analysis and Synthesis
Part IV: Synthesis from HDL Other synthesis paradigms
Introduction toVLSI Programming Lecture 4: Data handshake circuits
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
CSE 370 – Winter Sequential Logic - 1
Synthesis of asynchronous controllers from Signal Transition Graphs:
Introduction to Silicon Programming in the Tangram/Haste language
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Early output logic and Anti-Tokens
Introduction to Silicon Programming in the Tangram/Haste language
Presentation transcript:

Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University

Signaling Protocol SenderReceiver req ack data Signaling Protocol: communication protocol req: initiate an action ack: signal completion of that action

Signaling Protocol Control signaling 1. Two-phase handshaking protocol 2. Four-phase handshaking protocol Data signaling 1. Bundled Data with two-phase, four-phase HPs 2. Dual-rail Data with two-phase, four-phase HPs,

Control Signaling Protocol Four -phase Handshaking protocol Level signaling or return to zero SenderReceiver req ack data

Control Signaling Protocol Two-phase Handshaking protocol Transition signaling or Non-return to zero SenderReceiver req ack data

Data Signaling Protocol Bundled Data Signaling 1. Similar to synchronous circuits 2. Measure maximum delay of each circuit piece Com. Logic Delay A B C SenderReceiver req ack data a. Bundled data Computation b. Bundle Data transfer 3. Require n+2 wires

Data Signaling Protocol Dual­Rail Data signaling 1. Two wires per bit, encoded to show validity = no data (spacer), 01 = 0, 10 = 1, 11 = error Com. Logic A B C A1=0 A0=0 A1=0 A0=1 A1=1 A0=0 A1=1 A0=1 a. No data b. valid 0 c. valid 1 d. illegal 3. Require 2n wires Register

Signaling Protocol: EX Bundling Constraint VS Delay-Insensitive adders

Completion Detection Circuits Self-timed component with completion detection circuit. Ack: completion of dual-rail signal DoneReset=1: completion of computation DoneReset=0: completion of reset

Classes of Asynchronous Circuits Classification based on delay model: Gate and wire 1. Delay-insensitive (DI) circuits. 2. Quasi­delay­insensitive (quasi­DI or QDI) circuits 3. Speed­independent (SI) circuits 4. Self­timed (ST)circuits

Delay-insensitive circuits Arbitrary (unbounded but finite) delays on gates and wires Most robust (reliable) circuits Very small class (Martin)

Quasi­delay­insensitive circuits Delay insensitive with isochronous forks Delay in isochronous forks assumed to be similar Weakest compromise to pure delay-insensitivity needed to build practical circuits fork A BCBC

Speed­independent circuits Arbitrary delays on gates Wires have no delay Introduced by David Muller in the 50’s

Self­timed circuits Communication between elements is delay­insensitive Elements may be DI, QDI, SI or well­bounded Introduced by Seitz

Hazards Hazards: unwanted glitches O 1 glitch Combinational and sequential Hazards May not be severe: No inverter no hazard

Combinational Hazards Static hazards: Dynamic hazards O 1 O 11 O Static 0 hazard Static 1 hazard

Combinational Hazards Static Hazard in Single Input Change

Combinational Hazards Static Hazard in Multiple Input Change

Combinational Hazards Dynamic Hazard in Multiple Input Change

Petri Net Petri Net :bipartite graph places (circle) transitions (bar) Token (dot) A R1 B If A is true then B is true

Petri Net A R1 C Input places of a transition: Output places of a transition: Transition enable: all conditions of a transition are true Transition fire: removes the tokens from the input places and insert tokens to output places B A R1 C B Transition Firing

Petri Net: (Interface Net) C-element XYXY Z

Petri Net Arbiter

Petri Net: I-Net I-Net describes the allowed interface behavior I-Net ==> ISG (Interface State Graph) (finite state machine) X Y Z X Y

Petri Net: X+ Z+ Y+ ISG ==> Encoded ISG X-Y- X+Y+ Z- X-Y XY Z

Translation Method: Wireprefix*[a?;b!] Toggleprefix*[a?;b!;a?;c!] C-elementprefix*[a?||b?;c!] Mergeprefix*[a?|b?;c!] Basic DI Elements :

Translation Method: Operators: ? an input to the wire ! an output of the wire ; concatenation * repetition | choice || weave pref prefix-closure operator

Modulo-3 Counter MOD3=prefix*[a?;q!;a?;q!;a?;p!]

Tangram Compiler-based approach by van Berkel at Philips Research Laboratories and Eindhoven University of Technology Tangram: based on CSP, is a specification language for concurrent systems. A Tangram program for a 1­place buffer, BUF1: (a?W&b!W ) * | [x : var W | #[a?x; b!x]] |

Tangram A Tangram program for a 1­place buffer, BUF1: (a?W & b!W ) * | [x : var W | #[a?x; b!x]] | Interface: an input port, a, an output port, b, data type, W command [x : var W | #[a?x; b!x]] x is local variable ; : sequencing # : infinite repetition T : transfer go

Tangram: Buf1 Channel (arc): c, d, e, wx, rx, a, b A channel has two ports Active port: black dot initiates a request Passive port: white dot returns an acknowledgment Buf1: data is received on port a stored in internal variable x; data is then sent out on port b.

Tangram: Buf2=(a?W&c!W )*| [b:chan W|(BUF 1 (a; b) || BUF 2 (b; c))] | New command ||:parallel composition. :synchronizer Major goal of Tangram rapid turnaround time low­power implementation. portable electronics: an error corrector for a digital compact cassette player counters, decoders, image generators

Arbiter: ME Mutual Exclusion Element: A. Only one process can access shared resource B. Can be used in Arbiter

Arbiter : ME function No request: R1in=0 R2in=0 (R1in’=R2in’=1) R1 request: R1in=1 R2in=0 (R1in’=0 R2in’=1) R2 request: R1in=0 R2in=1 (R1in’=1 R2in’=0) R1, R2 request: R1in=R2in=1 (R1in’=R2in’=0)

Arbiter:ME No request: R1in=0 R2in=0 (R1in’=R2in’=1)

Arbiter : ME R1 request: R1in=1 R2in=0 (R1in’=0 R2in’=1)

Arbiter : ME R1, R2 request: R1in=R2in=1 (R1in’=R2in’=0) 1->0 0->? 1->?

Arbiter Four-phase Arbiter

Micropipeline