Sequential circuit design with metastability

Slides:



Advertisements
Similar presentations
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Advertisements

1 COMP541 Flip-Flop Timing Montek Singh Oct 6, 2014.
Introduction to CMOS VLSI Design Sequential Circuits.
VLSI Design EE 447/547 Sequential circuits 1 EE 447/547 VLSI Design Lecture 9: Sequential Circuits.
Introduction to CMOS VLSI Design Sequential Circuits
MICROELETTRONICA Sequential circuits Lection 7.
Lecture 11: Sequential Circuit Design. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 11: Sequential Circuits2 Outline  Sequencing  Sequencing Element Design.
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits David Harris Harvey Mudd College Spring 2004.
Sequential Logic Handouts: Lecture Slides : Progress so far… PHYSICS: Continuous variables, Memory, Noise, f(RC) = 1 - e-t/R COMBINATIONAL: Discrete,
Sequential Circuits. Outline  Floorplanning  Sequencing  Sequencing Element Design  Max and Min-Delay  Clock Skew  Time Borrowing  Two-Phase Clocking.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis EE4800 CMOS Digital IC Design & Analysis Lecture 11 Sequential Circuit Design Zhuo Feng.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
S. Reda EN160 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 22: Sequential Circuit Design (1/2) Prof. Sherief Reda Division of Engineering,
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits Credits: David Harris Harvey Mudd College (Material taken/adapted from Harris’ lecture.
S. Reda EN160 SP’07 Design and Implementation of VLSI Systems (EN0160) Lecture 23: Sequential Circuit Design (1/3) Prof. Sherief Reda Division of Engineering,
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2007.
1 COMP541 Sequential Logic Timing Montek Singh Sep 30, 2015.
Clocking System Design
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Sequential logic circuits First Class 1Dr. AMMAR ABDUL-HAMED KHADER.
Digital Design: Sequential Logic Principles
Digital Design - Sequential Logic Design
Lecture 4. Sequential Logic #1
Digital Integrated Circuits A Design Perspective
Lecture 11: Sequential Circuit Design
Dr. Clincy Professor of CS
Chapter 3 Digital Design and Computer Architecture, 2nd Edition
Lecture #16: D Latch ; Flip-Flops
Chapter 3 Digital Design and Computer Architecture: ARM® Edition
Digital Integrated Circuits A Design Perspective
CSE 140 – Discussion 7 Nima Mousavi.
Flip Flops Lecture 10 CAP
Chapter 7 Designing Sequential Logic Circuits Rev 1.0: 05/11/03
Timing and Verification
Sequential Logic Combinational logic:
Computer Organization
6. Sequential circuits Rocky K. C. Chang 17 October 2017.
Flip Flops.
Appendix B The Basics of Logic Design
Digital Design Lecture 9
6. Sequential circuits (v2)
Sequential Logic and Flip Flops
Introduction to Sequential Logic Design
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Sequential Circuits: Flip-Flops
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
Sequential Logic and Flip Flops
CS Fall 2005 – Lec. #5 – Sequential Logic - 1
CSE 370 – Winter Sequential Logic-2 - 1
Elec 2607 Digital Switching Circuits
COMP541 Flip-Flop Timing Montek Singh Feb 23, 2010.
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
CSE 370 – Winter Sequential Logic - 1
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 14: Performance Optimization
CSE 370 – Winter Sequential Logic-2 - 1
FLIP-FLOPS.
ECE 352 Digital System Fundamentals
Flip-Flops.
COMP541 Sequential Logic Timing
Lecture 19 Logistics Last lecture Today
Chapter 5 Sequential Circuits.
Instructor: Michael Greenbaum
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

Sequential circuit design with metastability Lecture 11 October 3, 2017 Preliminary version

MCC092 Integrated Circuit Design - sequential circuit design Sequential Logic Combinational logic output depends on current inputs Sequential logic output depends on current and previous inputs Requires separating previous, current, future Called state or tokens Examples: Finite state machine (FSM), pipeline Combinatorial logic in out clk Combinatorial logic in out Figure 1.67 from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design Sequencing If tokens move through pipeline at constant speed, no sequencing elements are necessary Ex: fiber-optic cable Light pulses (tokens) are sent down cable Next pulse sent before first reaches end of cable No need for hardware to separate pulses But dispersion sets min time between pulses This is called wave pipelining in circuits In most circuits, dispersion is high Solution: delay fast tokens so they don’t catch up on slow ones. 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design Sequencing overhead Solution: Use flip-flops to delay fast tokens so they move through exactly one stage each cycle. Drawback: Adds some delay also to the slow tokens Thus, circuit is slower than just logic propagation delay Added delay is called sequencing overhead Some people call this clocking overhead But it applies to asynchronous circuits too Inevitable side effect of maintaining sequence 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design This lecture Compute sequencing overhead with flip-flops Compute maximum clock frequency Also with clock skew Understand causes of delays in flip-flops and abit about their design tradeoffs But not design them Synchronization of asynchronous signals Metastability 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Return to adder example Figure 1.67 from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Ripple-carry adder (from postlab 2) A way of drawing the same thing with less detail for the combinational logic (CL) 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Sequencing with flip-flops Fllip-flop: Edge-triggered (positive edge) holds data until next edge Goals today: Given a certain CL determine the minimum possible Tc with and without clock skew. Given certain fc, clock skew and flip-flops determine timing requirements on CL. You can also sequence with latches but we leave that out. Part of Figure 10.2 from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Characterizing combinational logic Propagation delay, tpd: Maximum time until output finally reaches VDD/2. Output is guaranteed not to change after tpd. Contamination delay, tcd: Minimum time until output initially reaches VDD/2. Output is guaranteed not to change before tcd. Contamination delay is important because we do not wamt tokens to catch up with each other! Figure 10.4 (a) from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Flip-flop operation and delays Edge-triggered (positive edge) holds data until next positive clock edge. Input is called D output is called Q. Input D has to be ready before clock edge happens, so that correct data is read. Input D has to be stable long enough after clock edge happened to be correctly locked by flip-flop. From clock edge happening it takes some time until output Q is available, there is a maximum and a minimum delay. Figure 10.4 (b) from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Flip-flop operation and delays sampling window, aperture Abbreviation Flip-flop delay tpcq Clk-to-Q propagation delay tccq Clk-to-Q contamination delay tsetup Setup time thold Hold time Setup time is always positive. Hold time can be positive, zero or negative. Figure 10.4 (b) from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design What is minimum Tc? tpd, tcd Make sure result from CL is always there when next clock edge happens: Otherwise there is a setup violation. You can also sequence with latches but we leave that out. 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Maximum propagation delay Figure 10.5 from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

What is minimum Tc with clock skew? tpd, tcd Clock skew = difference in delay (arrival time) for clock signals. We do not know which way the difference will go. Make sure result from CL is always there anyways when next clock edge happens You can also sequence with latches but we leave that out. Figure 10.15 (a) from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Maximum propagation delay with clock skew Decreases maximum propagation delay 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Another potential problem tpd, tcd What if result from CL changes before the previous result has been read? Then tokens are merged and data is lost. You can also sequence with latches but we leave that out. 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Minimum contamination celay Figure 10.9 from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Hold violation with clock skew? tpd, tcd What if result from CL changes before the previous result has been read and we have clock skew? Then tokens are merged and data is lost. You can also sequence with latches but we leave that out. 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Minimum contamination delay with clock skew Increases minimum contamination delay Figure 10.15 (b) from W&H 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Is setup or hold violations worse? 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design System balancing A well-designed system is balanced No need to overdesign one part if another part limits system performance. Tradeoff between: CL: delays, area, power Flip-flop design: delays, area, power, metastability Clock generation and distribution: delay clock skew, area, power 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design How design a flip-flop? Important requirements: Data is always maintained and restored Short delays Low capacitive load on clocks signals Small Enable Reset/set (synchronous or asynchronous) Scan chain 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design D-Latch Example A MUX on the input allows us to either load new data or keep old data Two C-switches make a simple MUX 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

Using tri-state inverters However, an inverter and a C-switch can be replaced by tri-state inverter _ f _ f 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design D-Latch Design Tristate feedback + Static Backdriving risk Static latches are essential so that data does not disappear because of leakage D _ f _ Q X 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design D-Latch Design Buffered input + Fixes diffusion input + Makes latch noninverting f X Q D _ f f _ f 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design D-Latch Design Q Buffered output + No backdriving Widely used in standard cells + Very robust (most important) Rather large Rather slow (1.5 – 2 FO4 delays) High clock loading f X Q D _ f f _ f 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

D-type Flip-Flop Design Flip-flop is built as pair of back-to-back latches D _ f X _ Q Q _ f 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

D-type Flip-Flop Design Data is transferred from master to slave when CLK=1 _ f _ f data Q´ Q f=1 data Q´ Q f=0 f f New data is received by master when CLK=0, while slave stores previous data 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design HS65_LS_DFPRQ 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design Clock generation Master latch with NOR2 Slave latch with tristate NAND 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design Master latch 2.6 um × 2.8 um CPI RN CPN CPN DATA CP CPI CPI TO SLAVE RN INV Tristate Tristate 2NOR 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design Slave latch 2.6um × 3.2um RN CPN Q CPI FROM MASTER INV INV+TG INV Tristate NAND INV 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

DFF layout in cell library 4.0 um 2.6 um 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design

MCC092 Integrated Circuit Design - sequential circuit design Summary We took a step from combinatorial logic to sequential logic: CL delays FF delays Setup and hold violations: Constraints on CL delays from fc, flip-flop delays and clock skew System tradeoffs – don’t overdesign any part! Edge-triggered flip-flop from two back-to-back latches: one master, one slave Enable Set/Reset Scan chains Had a look at a D-type FF in STMicroelectronics cell library Compared to a master/slave design using our design template. Results: 6.0 μm wide compared with ST 4.0 μm Next up: synchronization and metastability 2017-10-03 MCC092 Integrated Circuit Design - sequential circuit design