WAITX: An Arbiter for Non-Persistent Signals

Slides:



Advertisements
Similar presentations
Registers Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens A clock is a free-running signal with a cycle time. A clock may.
Advertisements

Self-Timed Logic Timing complexity growing in digital design -Wiring delays can dominate timing analysis (increasing interdependence between logical and.
Digital Techniques Fall 2007 André Deutz, Leiden University
Andrey Mokhov, Victor Khomenko Danil Sokolov, Alex Yakovlev Dual-Rail Control Logic for Enhanced Circuit Robustness.
Data Synchronization Issues in GALS SoCs Rostislav (Reuven) Dobkin and Ran Ginosar Technion Christos P. Sotiriou FORTH ICS- FORTH.
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
1 Introduction Sequential circuit –Output depends not just on present inputs (as in combinational circuit), but on past sequence of inputs Stores bits,
Introduction to Sequential Logic Design Latches. 2 Terminology A bistable memory device is the generic term for the elements we are studying. Latches.
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
Flip-Flops Computer Organization I 1 June 2010 © McQuain, Feng & Ribbens A clock is a free-running signal with a cycle time. A clock may be.
CS 151 Digital Systems Design Lecture 19 Sequential Circuits: Latches.
Delay/Phase Regeneration Circuits Crescenzo D’Alessandro, Andrey Mokhov, Alex Bystrov, Alex Yakovlev Microelectronics Systems Design Group School of EECE.
Synchronous Digital Design Methodology and Guidelines
ACSD Conference, Augsburg, Summer Flat Arbiters Andrey Mokhov 1, Victor Khomenko 2, Alex Yakovlev 1 1 School of Electrical, Electronic and Computer.
Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.
ASYNC 2000 Eilat April Priority Arbiters Alex Bystrov David Kinniment Alex Yakovlev University of Newcastle upon Tyne, UK.
Avshalom Elyada, Ran GinosarPipeline Synchronization 1 Pipeline Synchronization Continued This second part is based on the recent article Bridging Clock.
Digital System Bus A bus in a digital system is a collection of (usually unbroken) signal lines that carry module-to-module communications. The signals.
COE 202: Digital Logic Design Sequential Circuits Part 1
UK Asynchronous Forum, September Synthesis of multiple rail phase encoding circuits Andrey Mokhov, Crescenzo D’Alessandro, Alex Yakovlev Microelectronics.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay2 The D FlipFlop A 1-bit register is called a D flipflop. When.
Module 2 : Behavioral modeling TOPIC : Modeling a Digital pulse UNIT 1: Modeling and Simulation.
1/8/ L16 Timing & Concurrency III Copyright Joanne DeGroat, ECE, OSU1 Timing & Concurrency III Delay Model foundations for simulation and.
Sequential Logic Computer Organization II 1 © McQuain A clock is a free-running signal with a cycle time. A clock may be either high or.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Controlling Gates Enabling/Disabling Circuits & Controlled Inverters.
Formal Verification of Clock Domain Crossing Using Gate-level Models of Metastable Flip-Flops Ghaith Tarawneh, Andrey Mokhov and Alex Yakovlev Newcastle.
Flip-Flop Flip-flops Objectives Upon completion of this chapter, you will be able to :  Construct and analyze the operation of a latch flip-flop made.
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
Sequential Logic Design
Digital Design - Sequential Logic Design
Lecture 4. Sequential Logic #1
Lab 08: SR Flip Flop Fundamentals:
Victor Khomenko Newcastle University
Lecture 15 Sequential Circuit Design
Chapter #6: Sequential Logic Design
Asynchronous Interface Specification, Analysis and Synthesis
Copyright © 2004 The McGraw-Hill Companies, Inc. All rights reserved.
Clocks A clock is a free-running signal with a cycle time.
Computer Organization
Computer Architecture & Operations I
Timing Model Start Simulation Delay Update Signals Execute Processes
Flip Flops.
Flip-Flop.
Sequential Circuits Most digital systems like digital watches, digital phones, digital computers, digital traffic light controllers and so on require.
CISE204: Design of Digital Systems Lecture 18 : Sequential Circuits
Latches, Flip-Flops and Registers
Flip Flop.
Yee-Wing Hsieh Steve Jacobs
Sequential logic circuits
Inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #21 State Elements: Circuits that Remember Hello to James Muerle in the.
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
LECTURE 15 – DIGITAL ELECTRONICS
Chapter 6 -- Introduction to Sequential Devices
Satish Pradhan Dnyanasadhana college, Thane
COMP541 Sequential Circuits
Elec 2607 Digital Switching Circuits
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Day 26: November 1, 2013 Synchronous Circuits
Synthesis of asynchronous controllers from Signal Transition Graphs:
Day 21: October 29, 2010 Registers Dynamic Logic
Thought of the Day To be what we are, and to become
Clockless Logic: Asynchronous Pipelines
ECE 352 Digital System Fundamentals
Synchronous sequential
Synchronous Sequential
Synthesis of multiple rail phase encoding circuits
Early output logic and Anti-Tokens
Instructor: Michael Greenbaum
Clocks A clock is a free-running signal with a cycle time.
Presentation transcript:

WAITX: An Arbiter for Non-Persistent Signals Victor Khomenko, Danil Sokolov, Andrey Mokhov, Alex Yakovlev

‘Dirty’ analogue part of the system ‘Clean’ digital core of the system Motivation ‘Dirty’ analogue part of the system A2D interfaces ‘Clean’ digital core of the system Non-persistent signals, e.g. comparator outputs short pulses bursts of high-frequency jitter Not-quite-digital waveforms Sanitize ‘dirty’ signals coming from the analogue part before passing them to the digital core Special interface elements are needed – ASYNC All signals must be well-behaved Nice digital waveforms Any bad behaviour may lead to malfunction Formally verified  1

WAIT [ASYNC’15, Kessels & Marston’99] Upon activation by ctrl+, waits for sig=1 (may miss short spikes) and latches it as ‘clean’ san ‘Clean’ ctrl / san handshake controlled by ‘dirty’ sig

Debubblification of WAIT The input bubble on sig can be detached: The inverter can produce hazards, but they will not propagate past the mutex! Dropping the bubble altogether yields WAIT0 that waits for sig=0 rather than sig=1 Idiom

WAITX element: the protocol Upon activation by ctrl+, arbitrates between ‘dirty’ sig1 and sig2 Grants g1 and g2 are clean and mutually exclusive Clean ctrl / (g1 or g2) handshake controlled by ‘dirty’ sig1 and sig2

Application: multiphase buck (DATE’17)

WAITX element: top-level structure Idea: sanitise sig1 and sig2 with WAITs, and then arbitrate with a usual mutex Problem: Cannot reset the losing WAIT: its sig may never arrive cannot withdraw its ctrl – hazard if sig does arrive Idiom

WAITX element: top-level structure Idiom Idea: The winner helps the loser! The mutex’s winning grant ‘helps’ the losing signal to arrive (via NOR gates), so that both WAIT0 elements fire at each cycle and can be safely reset The outputs of the NOR gates are ‘dirty’, but the hazards do not propagate past WAIT0s

STG for CONTROL Reset phase is long (5 gate delays between g1+ and g1-), but concurrent to the environment’s consuming the grant Losing signal does not propagate through the mutex, i.e. an extension of the usual arbitration protocol is used Losing WAIT0 must be reset before the winning one

CONTROL implementation

SAMPLE element Upon activation by ctrl+, sample the current value of ‘dirty’ sig and return it to the caller as a ‘clean’ dual-rail value d0 / d1; no waiting, i.e. non-blocking Clean ctrl / (d0 or d1) handshake controlled by ‘dirty’ sig

Summary New reusable WAITX element to arbitrate between ‘dirty’ signals (e.g. A2D or cross-domain interfaces) Unconditionally guarantees that bad behaviour of the inputs will not propagate to the digital ‘core’ Speed-independent implementation of WAITX that uses only digital components – no transistor meshes, Schmitt triggers, etc.; the only non-digital dependency is the (well studied) metastability filter inside mutex / WAIT Formally verified Can be scaled to multiple inputs WAITX can be used to implement an unconditionally safe SAMPLE

SI circuits: progress / extensions Intuition: circuits that work “correctly” regardless of gate delays Interfacing with rough world (cross-domain, analogue, …) by sanitising non-persistent input signals WAIT, WAITX, SAMPLE… input/output read/consume choices this work “Factoring out” mutexes into the environment output/output choices & internal arbitration Maintaining semi-modularity w.r.t. a state: input/input choices Muller’s theory: “closed” systems, inertial delays no choices

Thank you! Any questions?