ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.

Slides:



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

Introduction to CMOS VLSI Design Sequential Circuits.
11/12/2004EE 42 fall 2004 lecture 311 Lecture #31 Flip-Flops, Clocks, Timing Last lecture: –Finite State Machines This lecture: –Digital circuits with.
Sequential Logic ENEL 111. Sequential Logic Circuits So far we have only considered circuits where the output is purely a function of the inputs With.
Introduction to Sequential Logic Design Latches. 2 Terminology A bistable memory device is the generic term for the elements we are studying. Latches.
Introduction to CMOS VLSI Design Sequential Circuits
COE 202: Digital Logic Design Sequential Circuits Part 1 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM.
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
MICROELETTRONICA Sequential circuits Lection 7.
Latches CS370 –Spring 2003 Section 4-2 Mano & Kime.
Lecture 11: Sequential Circuit Design. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 11: Sequential Circuits2 Outline  Sequencing  Sequencing Element Design.
Computer Architecture CS 215
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 12 Basic (NAND) S – R Latch “Cross-Coupling” two NAND gates gives the S -R Latch:
EE2420 – Digital Logic Summer II 2013
Introduction to Sequential Logic Design Bistable elements Latches.
Chapter #6: Sequential Logic Design
1 CS 151: Digital Design Chapter 5: Sequential Circuits 5-3: Flip-Flops I.
Sequential Circuits : Part I Read Sections 5-1, 5-2, 5-3.
Page 1 Sequential Logic Basic Binary Memory Elements.
Digital Logic Design Lecture 22. Announcements Homework 7 due today Homework 8 on course webpage, due 11/20. Recitation quiz on Monday on material from.
Sequential circuit Digital electronics is classified into combinational logic and sequential logic. In combinational circuit outpus depends only on present.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
1 Digital Design: State Machines Timing Behavior Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals.
Clock Design Adopted from David Harris of Harvey Mudd College.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 –Selected Design Topics Part 3 – Asynchronous.
Lecture 9 Memory Elements and Clocking
11/19/2004EE 42 fall 2004 lecture 341 Lecture #34: data transfer Last lecture: –Example circuits –shift registers –Adders –Counters This lecture –Communications.
Sequential Logic 1  Combinational logic:  Compute a function all at one time  Fast/expensive  e.g. combinational multiplier  Sequential logic:  Compute.
11/10/2004EE 42 fall 2004 lecture 301 Lecture #30 Finite State Machines Last lecture: –CMOS fabrication –Clocked and latched circuits This lecture: –Finite.
CS 151 Digital Systems Design Lecture 20 Sequential Circuits: Flip flops.
11/15/2004EE 42 fall 2004 lecture 321 Lecture #32 Registers, counters etc. Last lecture: –Digital circuits with feedback –Clocks –Flip-Flops This Lecture:
Sequential Circuits. 2 Sequential vs. Combinational Combinational Logic:  Output depends only on current input −TV channel selector (0-9) Sequential.
Chapter #6: Sequential Logic Design 6.2 Timing Methodologies
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits Credits: David Harris Harvey Mudd College (Material taken/adapted from Harris’ lecture.
Contemporary Logic Design Sequential Logic © R.H. Katz Transparency No Chapter #6: Sequential Logic Design Sequential Switching Networks.
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
ELEC 256 / Saif Zahir UBC / 2000 Sequential Logic Design Sequential Networks Simple Circuits with Feedback R-S Latch J-K Flipflop Edge -Triggered Flip-Flops.
1 CSE370, Lecture 16 Lecture 19 u Logistics n HW5 is due today (full credit today, 20% off Monday 10:29am, Solutions up Monday 10:30am) n HW6 is due Wednesday.
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.
Introduction to Sequential Logic Design Flip-flops.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 9 Sequential.
ENGR-43_Lec-05c_Thevenin_AC_Power.pptx 1 Bruce Mayer, PE Engineering-43: Engineering Circuit Analysis Bruce Mayer, PE Licensed.
Chap 4. Sequential Circuits
ENG241 Digital Design Week #6 Sequential Circuits (Part A)
D Latch Delay (D) latch:a) logic symbolb) NAND implementationc) NOR implementation.
CS 151: Digital Design Chapter 5: Sequential Circuits 5-3: Flip-Flops II.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
Topic: Sequential Circuit Course: Logic Design Slide no. 1 Chapter #6: Sequential Logic Design.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
BR 8/991 DFFs are most common Most programmable logic families only have DFFs DFF is fastest, simplest (fewest transistors) of FFs Other FF types (T, JK)
Reading Assignment: Rabaey: Chapter 9
Sp09 CMPEN 411 L18 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 16: Static Sequential Circuits [Adapted from Rabaey’s Digital Integrated Circuits,
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
6-1 Programmable and Steering Logic Chapter #6: Sequential Logic Design.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2007.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Review: Sequential Definitions
Latches, Flip Flops, and Memory ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin – Madison.
Ch.5 Flip Flops and Related Devices
Copyright © 2001 Stephen A. Edwards All rights reserved Busses  Wires sometimes used as shared communication medium  Think “party-line telephone”  Bus.
Chapter #6: Sequential Logic Design
Sequential Logic Combinational logic:
LECTURE 15 – DIGITAL ELECTRONICS
CSE 370 – Winter Sequential Logic-2 - 1
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Lecture 19 Logistics Last lecture Today
Presentation transcript:

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation of system Approach depends on building blocks used for memory elements For systems with latches: Narrow Width Clocking Multiphase Clocking (e.g., Two Phase Non-Overlapping) For systems with edge-triggered flipflops: Single Phase Clocking Correct Timing: (1) correct inputs, with respect to time, are provided to the FFs (2) no FF changes more than once per clocking event

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodologies Cascaded Flipflops and Setup/Hold/Propagation Delays Why this works: Propagation delays far exceed hold times; Clock width constraint exceeds setup time This guarantees following stage will latch current value before it is replaced by new value Assumes infinitely fast distribution of the clock Timing constraints guarantee proper operation of cascaded components Timing constraints guarantee proper operation of cascaded components

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodologies Narrow Width Clocking versus Multiphase Clocking Level Sensitive Latches vs. Edge Triggered Flipflops Latches use fewer gates to implement a memory function Less complex clocking with edge triggered devices CMOS Dynamic Storage Element Feedback path broken by two phases of the clock (just like master/slave idea!) 8 transistors to implement memory function but requires two clock signals constrained to be non-overlapping Edge-triggered D-FF: 6 gates (5 x 2-input, 1 x 3-input) = 26 transistors!

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodologies Narrow Width Clocking for Systems with Latches for State Two-sided Constraints: must be careful of very fast signals as well as very slow signals! Generic Block Diagram for Clocked Sequential System state implemented by latches or edge-triggered FFs Clock Width < fastest propagation through comb. logic plus latch prop delay Clock Period > slowest propagation through comb. logic (rising edge to rising edge)

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodologies Two Phase Non-Overlapped Clocking Clock Waveforms: must never overlap! only worry about slow signals Embedding CMOS storage element into Clocked Sequential Logic Note that Combinational Logic can be partitioned into two pieces C/L1: inputs latched and stable by end of phase 1; compute between phases, latch outputs by end of phase 2 C/L2: just the reverse

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodologies Generating Two-Phase Non-Overlapping Clocks Single reference clock (or crystal) Phase 1 high while clock is low Phase 2 high while clock is high Phase X cannot go high until phase Y goes low! Non-overlap time can be increased by increasing the delay on the feedback path

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodologies The Problem of Clock Skew Correct behavior assumes next state of all storage elements determined by all storage elements at the same time Not possible in real systems! logical clock driven from more than one physical circuit with timing behavior different wire delay to different points in the circuit Original State: Q0 = 1, Q1 = 1, In = 0 Because of skew, next state becomes: Q0 = 0, Q1 = 0, not Q0 = 0, Q1 = 1 CLK2 is a delayed version of CLK1 Effect of Skew on Cascaded Flipflops:

ELEC 256 / Saif Zahir UBC / 2000 Timing Methodologies Design Strategies for Minimizing Clock Skew Typical propagation delays for LS FFs: 13 ns Need substantial clock delay (on the order of 13 ns) for skew to be a problem in this relatively slow technology Nevertheless, the following are good design practices: distribute clock signals in general direction of data flows wire carrying the clock between two communicating components should be as short as possible for multiphase clocked systems, distribute all clocks in similar wire paths; this minimizes the possibility of overlap for the non-overlap clock generate, use the phase feedback signals from the furthest point in the circuit to which the clock is distributed; this guarantees that the phase is seen as low everywhere before it allows the next phase to go high

ELEC 256 / Saif Zahir UBC / 2000 Metastability and Asynchronous Inputs Terms and Definitions Clocked synchronous circuits common reference signal called the clock state of the circuit changes in relation to this clock signal Asynchronous circuits inputs, state, and outputs sampled or changed independent of a common reference signal R-S latch is asynchronous, J-K master/slave FF is synchronous Synchronous inputs active only when the clock edge or level is active Asynchronous inputs take effect immediately, without consideration of the clock Compare R, S inputs of clocked transparent latch vs. plain latch

ELEC 256 / Saif Zahir UBC / 2000 Metastability and Asynchronous Inputs Asynchronous Inputs Are Dangerous! Since they take effect immediately, glitches can be disastrous Synchronous inputs are greatly preferred! But sometimes, asynchronous inputs cannot be avoided e.g., reset signal, memory wait signal

ELEC 256 / Saif Zahir UBC / 2000 Metastability and Asynchronous Outputs Handling Asynchronous Inputs Never allow asynchronous inputs to be fanned out to more than one FF within the synchronous system

ELEC 256 / Saif Zahir UBC / 2000 Metastability and Asynchronous Inputs What Can Go Wrong In is asynchronous Fans out to D0 and D1 One FF catches the signal, one does not impossible state might be reached! Setup time violation! Single FF that receives the asynchronous signal is a synchronizer

ELEC 256 / Saif Zahir UBC / 2000 Metastability and Asynchronous Inputs Synchronizer Failure When FF input changes close to clock edge, the FF may enter the metastable state: neither a logic 0 nor a logic 1 It may stay in this state an indefinate amount of time, although this is not likely in real circuits Small, but non-zero probability that the FF output will get stuck in an in-between state Oscilloscope Traces Demonstrating Synchronizer Failure and Eventual Decay to Steady State

ELEC 256 / Saif Zahir UBC / 2000 Metastability and Asynchronous Inputs Solutions to Synchronizer Failure the probability of failure can never be reduced to 0, but it can be reduced slow down the system clock this gives the synchronizer more time to decay into a steady state synchronizer failure becomes a big problem for very high speed systems use fastest possible logic in the synchronizer this makes for a very sharp "peak" upon which to balance S or AS TTL D-FFs are recommended cascade two synchronizers D D Q Q Clk Asynchronous Input Synchronized Input Synchronous System

ELEC 256 / Saif Zahir UBC / 2000 Self-Timed and Speed Independent Circuits Limits of Synchronous Systems Fully synchronous not possible for very large systems because of problems of clock skew Partition system into components that are locally clocked These communicate using "speed independent" protocols Request/Acknowledgement Signaling

ELEC 256 / Saif Zahir UBC / 2000 Self-Timed and Speed Independent Circuits Synchronous Signaling Master issues read request; Slave produces data and acks back Alternative Synchronous Scheme: Slave issues WAIT signal if it cannot satisfy request in one clock cycle

ELEC 256 / Saif Zahir UBC / 2000 Self-Timed and Speed Independent Circuits Asynchronous/Speed Independent Signaling 4 Cycle Signaling/Return to Zero Signaling (1) master raises request slave performs request (2) slave "done" by raising acknowledge (3) master latches data acks by lowering request (4) slave resets self by lowing acknowledge signal Communicate information by signal levels rather than edges! No clock signal

ELEC 256 / Saif Zahir UBC / 2000 Self-Timed and Speed Independent Circuits Alternative: 2 cycle signaling Non-Return-to-Zero (1) master raises request slave services request (2) slave indicates that it is done by raising acknowledge Next request indicated by low level of request Requires additional state in master and slave to remember previous setting or request/acknowledge 4 Cycle Signaling is more foolproof

ELEC 256 / Saif Zahir UBC / 2000 Self-Timed and Speed Independent Circuits Self-Timed Circuits Determine on their own when a given request has been serviced No internal clocks Usually accomplished by modeling worse case delay within self-timed component Models worst case delay e.g., if combinational logic is 5 gate levels deep, delay line between request in and ack out is also 5 levels deep

ELEC 256 / Saif Zahir UBC / 2000 Summary Fundamental Building Block of Circuits with State: latch and flipflop R-S Latch, J-K master/slave Flipflop, Edge-triggered D Flipflop Clocking Methodologies: For latches: Narrow width clocking vs. Multiphase Non-overlapped Narrow width clocking and two sided timing constraints Two phase clocking and single sided timing constraints For FFs: Single phase clocking with edge triggered flipflops Cascaded FFs work because propagation delays exceed hold times Beware of Clock Skew Asynchronous Inputs and Their Dangers Synchronizer Failure: What it is and how to minimize its impact Asynchronous Signaling Conventions: 4 and 2 Cycle Handshakes Self-Timed Circuits Speed Independent Circuits