1 Clockless Logic Prof. Montek Singh Feb. 3, 2004.

Slides:



Advertisements
Similar presentations
CS370 – Spring 2003 Hazards/Glitches. Time Response in Combinational Networks Gate Delays and Timing Waveforms Hazards/Glitches and How To Avoid Them.
Advertisements

Combinational Logic.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
1 COMP541 Flip-Flop Timing Montek Singh Oct 6, 2014.
The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
1 Lecture 20 Sequential Circuits: Latches. 2 Overview °Circuits require memory to store intermediate data °Sequential circuits use a periodic signal to.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
1 Clockless Logic  Recap: Lookahead Pipelines  High-Capacity Pipelines.
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Convertibility Verification and Converter Synthesis: Two Faces of the Same Coin Jie-Hong Jiang EE249 Discussion 11/21/2002 Passerone et al., ICCAD ’ 02.
An Introduction to Burst-Mode Controllers and the MINIMALIST CAD Package Steven M. Nowick Columbia University July 16-17, 2002.
ECE 331 – Digital System Design
Contemporary Logic Design Multi-Level Logic © R.H. Katz Transparency No Chapter # 3: Multi-Level Combinational Logic 3.3 and Time Response.
FSMs 1 Sequential logic implementation  Sequential circuits  primitive sequential elements  combinational logic  Models for representing sequential.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 –Selected Design Topics Part 3 – Asynchronous.
Introduction to asynchronous circuit design: specification and synthesis Part III: Advanced topics on synthesis of control circuits from STGs.
Asynchronous Sequential Circuits. 2 Asynch. vs. Synch.  Asynchronous circuits don’t use clock pulses  State transitions by changes in inputs  Storage.
Asynchronous Machines
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
COMP Clockless Logic Prof. Montek Singh Jan. 29, 2004.
Asynchronous Sequential Circuits
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 COMP541 State Machines Montek Singh Feb 6, 2007.
High-Throughput Asynchronous Pipelines for Fine-Grain Dynamic Datapaths Montek Singh and Steven Nowick Columbia University New York, USA
ECE C03 Lecture 61 Lecture 6 Delays and Timing in Multilevel Logic Synthesis Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
1 Clockless Computing Montek Singh Thu, Sep 13, 2007.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
1 Clockless Logic: Dynamic Logic Pipelines (contd.)  Drawbacks of Williams’ PS0 Pipelines  Lookahead Pipelines.
Combinational Logic Design
Digital Logic Design CHAPTER 5 Sequential Logic. 2 Sequential Circuits Combinational circuits – The outputs are entirely dependent on the current inputs.
Clocked Synchronous State Machine Design
Sequential Networks Two major classes of Sequential Circuits 1.Fundamental Mode – A sequential circuit where: Only one input is allowed to change at any.
Noiseless Coding. Introduction Noiseless Coding Compression without distortion Basic Concept Symbols with lower probabilities are represented by the binary.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
Finite State Machines. Binary encoded state machines –The number of flip-flops is the smallest number m such that 2 m  n, where n is the number of states.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Department of Computer Engineering
Unit 14 Derivation of State Graphs
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
CPEN Digital System Design Chapter 5 - Sequential Circuits Sequential Circuit Design C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed.,
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.
Lecture 7 Chap 9: Registers Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
VHDL Discussion Finite State Machines
VHDL Discussion Finite State Machines IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Digital System Design using VHDL
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
A Cycle-Based Decomposition Method for Burst-Mode Asynchronous Controllers Melinda Y. Agyekum Steven M. Nowick Department of Computer Science Columbia.
Timing Behavior of Gates
ECE 171 Digital Circuits Chapter 9 Hazards Herbert G. Mayer, PSU Status 2/21/2016 Copied with Permission from prof. Mark PSU ECE.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 5, 2012 Synchronous Circuits.
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.
EE552 Extra Credit Project1 Extended Burst Mode Design Orignally Submitted by : Amish Patel Revised by : Sumit Bhargava
1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
1 Asynchronous Sequential Logic For most figures:.
Synthesis from HDL Other synthesis paradigms
Part IV: Synthesis from HDL Other synthesis paradigms
Chapter 3 Overview • Multi-Level Logic
ECE 352 Digital System Fundamentals
Homing sequence: to identify the final state.
Presentation transcript:

1 Clockless Logic Prof. Montek Singh Feb. 3, 2004

2 Unclocked “Burst-Mode” State Machine Synthesis Acknowledgment Steven Nowick et al. (Columbia Univ.)

3 “Burst-Mode” Controllers Synthesis style for individual asynchronous FSM’s: Mealy-type allows: –multiple-input changes –concurrent behavior target technology: normal synchronous cell libraries optimization algorithms: comprehensive set Brief History:... Based on informal approach at HP Labs: –Davis, Coates, Stevens [1986-, and earlier] Formalized and constrained at Stanford: Nowick/Dill [91] –Nowick/Dill first to develop a correct synthesis method

4 Burst-Mode: Implementation Style “Huffman Machine”: async machine, no explicit latches Hazard-Free Combinational Network inputsoutputs state (several bits) A B C X Y Z

5 Burst-Mode: Implementation Style Burst-Mode Behavior: inputs in a user-specified ’input burst’ arrive, in any order (glitch-free) Hazard-Free Combinational Network inputsoutputs state (several bits) A+ B C X Y Z

6 Burst-Mode: Implementation Style Burst-Mode Behavior: inputs in a user-specified ‘input burst’ arrive, in any order Hazard-Free Combinational Network inputsoutputs state (several bits) A+ B C- X Y Z

7 Burst-Mode: Implementation Style Burst-Mode Behavior: once ‘input burst’ is complete, machine generates a (glitch-free) ‘output burst’ … Hazard-Free Combinational Network inputsoutputs state (several bits) A B C X Y- Z+ input burst output burst

8 Burst-Mode: Implementation Style … and (sometimes!) a concurrent (and glitch-free) state change to a new state…. Hazard-Free Combinational Network inputsoutputs state (several bits) A B C X Y Z input burst output burst state change

9 Burst-Mode Specifications How to specify “burst-mode” behavior?: Hazard-Free Combinational Network inputs outputs state (several bits) A B C X Y Z input burst output burst A+ C-/ Y- Z+ 1 current state input burst/ output burst 2 next state

10 Note: -input bursts: must be non-empty (at least 1 input per burst) -output bursts: may be empty (0 or more outputs per burst) Burst-Mode Specifications Example: Burst-Mode (BM) Specification: - Inputs in specified “input burst” can arrive in any order and at any time - After all inputs arrive, generate “output burst” A+ C+/ Z- C-/ Z+ C+/ Y+ A-/ Y- A+ B+/ Y+ Z- B- C+/ Z+ C-/ -- Initial Values: ABC = 000 YZ = 01

11 Burst-Mode Specifications “Burst-Mode” (BM) Specs: 2 Basic Requirements –requirements introduced by Nowick/Dill [ICCD’91,ICCAD’91] –… guarantee hazard-free synthesis! 1. “maximal set property”: in each specification state, no input burst can be a subset of any other input burst 2. “unique entry point”: each specification state must be entered at a ‘single point’

12 Burst-Mode Specifications 1. “maximal set property”: in each specification state, no input burst can be a subset of another input burst …ambiguous: what to do when only input A+ arrives?: - wait for C+? or output Y+ Z-?? 012 A+ C+/ Z- A+/ Y+ Z- 012 A+ C+/ Z- A+ B+/ Y+ Z- illegal: {A+}  {A+C+} legal

13 Burst-Mode Specifications 2. “unique entry point”: each specification state must be entered at a ‘single point’ (guarantees hazard-free synthesis) A+/ Z+ B+/ Y+ C+/ Y+ D+/ Z+ Entering State 4: - from State 1: ABCD=1100 (YZ=11) - from State 2: ABCD=0011 (YZ=11) illegal: 2 different input/output values when entering state A+/ Z+ B+/ Y+ C+/ Y+ D+/ Z+ 5 legal: solution=split state 4

14 Burst-Mode Specifications 2. “unique entry point” (cont.): Entering State 4: - from State 3: ABC = 101 (YZ=11) - from State 2: ABC = 101 (YZ=11) … so, “unique entry point” property is satisfied. this is legal: state 4 -- entered with the same input/output values on both ‘incoming arcs’ A+ C+/ Z- C-/ Z+ C+/ Y+ A-/ Y- A+ B+/ Y+ Z- B- C+/ Z+ C-/ -- State 0: Initial Values ABC = 000 YZ = 01 Another Example:

15 Burst-Mode Specifications Final observation: Burst-Mode specs must indicate all “expected events” Missing input burst = “cannot occur” A+ C+/ Z- C-/ Z+ C+/ Y+ A-/ Y- A+ B+/ Y+ Z- B- C+/ Z+ C-/ -- State 0: Initial Values ABC = 000 YZ = 01 EXAMPLE: in State #0… - the specification indicates (implicitly) that input burst B+C+ cannot occur … since this event is not specified!

16 Burst-Mode Specifications “Extended Burst-Mode” (XBM): [Yun/Dill ICCAD-93/95] 1. “directed don’t cares” (Rin*): allow concurrent inputs & outputs 2. “conditionals” ( ): allow “sampling” of level signals Handles glitchy inputs, mixed sync/async inputs, etc ok+ Rin*/ FRout+ FAin+ Rin*/ FRout- FAin- Rin+/ Aout+ Rin* FAin+/ FRout- Rin-/ Aout- FRout+ Rin-/ Aout- ok- Rin*/ -- Rin+ FAin-/ Aout+ New Features: (… not yet supported by MINIMALIST, expected in future releases)

17 One-Sided Timing Requirements #1. Fedback State Change: must not arrive at inputs until previous input burst has been fully processed … –add: 1-sided delay to feedback path –usually negligible delay: often no extra delay needed Hazard-Free Combinational Network inputsoutputs state A B C X Y Z 1-sided delay

18 One-Sided Timing Requirements (cont.) #2. Next Input Burst: must not arrive until machine has stabilized from previous input+state change … often satisfied: environment usually “slow enough” if not: add small delays to outputs Hazard-Free Combinational Network inputs outputs state A B C X Y Z delay

19 One-Sided Timing Requirements (cont.) #2. Next Input Burst (cont.): must not arrive until entire machine has stabilized … “Generalized Fundamental Mode”: after each input burst arrives, a machine ‘hold-time requirement’ must be satisfied, before environment applies the next input burst

20 Example : Burst-Mode Synthesis AR+/BR+ BA+/BR- BA-/AA+ AR-/AA- Burst-Mode Specification:

21 Example : Burst-Mode Synthesis BA BR AA BA AR Y AR+/BR+ BA+/BR- BA-/AA+ AR-/AA- Burst-Mode Specification:Burst-Mode Implementation: AR BA