Clock - key to synchronous systems. Lecture 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

Similar documents
Clock - key to synchronous systems. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Synchronous Timing. Latch Parameters. Class Material. Homework #8 due next Tuesday

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Homework #8 due next Tuesday. Project Phase 3 plan due this Sat.

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

Lecture 11: Sequential Circuit Design

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

11. Sequential Elements

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Lecture 10: Sequential Circuits

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

Sequential Circuit Design: Part 1

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

Sequential Circuit Design: Part 1

Topic 8. Sequential Circuits 1

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

Digital Integrated Circuit Design II ECE 426/526, Chapter 10 $Date: 2016/04/07 00:50:16 $

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Memory elements. Topics. Memory element terminology. Variations in memory elements. Clock terminology. Memory element parameters. clock.

EEC 118 Lecture #9: Sequential Logic. Rajeevan Amirtharajah University of California, Davis Jeff Parkhurst Intel Corporation

6.S084 Tutorial Problems L05 Sequential Circuits

Clocking Spring /18/05

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

ECE321 Electronics I

CMOS Latches and Flip-Flops


Chapter 7 Sequential Circuits

EE-382M VLSI II FLIP-FLOPS

Timing EECS141 EE141. EE141-Fall 2011 Digital Integrated Circuits. Pipelining. Administrative Stuff. Last Lecture. Latch-Based Clocking.

1. What does the signal for a static-zero hazard look like?

Combinational vs Sequential

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

Clock Domain Crossing. Presented by Abramov B. 1

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Logic Design. Flip Flops, Registers and Counters

Sequential Circuits. Sequential Logic. Circuits with Feedback. Simplest Circuits with Feedback. Memory with Cross-coupled Gates.

Sequential Logic. References:

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

D Latch (Transparent Latch)

! Two inverters form a static memory cell " Will hold value as long as it has power applied

Sequential Logic. Sequential Circuits. ! Timing Methodologies " Cascading flip-flops for proper operation " Clock skew

CS8803: Advanced Digital Design for Embedded Hardware

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

ALGORITHMS IN HW EECS150 ALGORITHMS IN HW. COMBINATIONAL vs. SEQUENTIAL. Sequential Circuits ALGORITHMS IN HW

Figure 9.1: A clock signal.

Lecture 26: Multipliers. Final presentations May 8, 1-5pm, BWRC Final reports due May 7 Final exam, Monday, May :30pm, 241 Cory

Lecture 21: Sequential Circuits. Review: Timing Definitions

Lecture 8: Sequential Logic

ECEN689: Special Topics in High-Speed Links Circuits and Systems Spring 2011

Digital System Design

Lecture 23 Design for Testability (DFT): Full-Scan

IT T35 Digital system desigm y - ii /s - iii

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

Keeping The Clock Pure. Making The Impurities Digestible

Memory, Latches, & Registers


Digital Circuits and Systems

EEE2135 Digital Logic Design Chapter 6. Latches/Flip-Flops and Registers/Counters 서강대학교 전자공학과

MC9211 Computer Organization

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

55:131 Introduction to VLSI Design Project #1 -- Fall 2009 Counter built from NAND gates, timing Due Date: Friday October 9, 2009.

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

Homework 3 posted this week, due after Spring break Quiz #2 today Midterm project report due on Wednesday No office hour today

Fundamentals of Computer Systems

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

Synchronization in Asynchronously Communicating Digital Systems

Clocks. Sequential Logic. A clock is a free-running signal with a cycle time.

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

Experiment 8 Introduction to Latches and Flip-Flops and registers

Clock and Asynchronous Signals

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

ESE 570 STATIC SEQUENTIAL CMOS LOGIC CELLS. Kenneth R. Laker, University of Pennsylvania, updated 25Mar15

ELE2120 Digital Circuits and Systems. Tutorial Note 7

EE241 - Spring 2007 Advanced Digital Integrated Circuits. Announcements

Synchronous Sequential Logic

VirtualSync: Timing Optimization by Synchronizing Logic Waves with Sequential and Combinational Components as Delay Units

EITF35: Introduction to Structured VLSI Design

Lecture #4: Clocking in Synchronous Circuits

Digital Design, Kyung Hee Univ. Chapter 5. Synchronous Sequential Logic

Feedback Sequential Circuits

Advanced Digital Logic Design EECS 303

DIGITAL CIRCUIT LOGIC UNIT 11: SEQUENTIAL CIRCUITS (LATCHES AND FLIP-FLOPS)

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

CPS311 Lecture: Sequential Circuits

Glitches/hazards and how to avoid them. What to do when the state machine doesn t fit!

Topics of Discussion

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

EE273 Lecture 11 Pipelined Timing Closed-Loop Timing November 2, Today s Assignment

Static Timing Analysis for Nanometer Designs

Chapter 5: Synchronous Sequential Logic

High Performance Dynamic Hybrid Flip-Flop For Pipeline Stages with Methodical Implanted Logic

Unit 11. Latches and Flip-Flops

3 Flip-Flops. The latch is a logic block that has 2 stable states (0) or (1). The RS latch can be forced to hold a 1 when the Set line is asserted.

Sequential Logic and Clocked Circuits

The NOR latch is similar to the NAND latch

Transcription:

Clock - key to synchronous systems Lecture 7 Clocking Strategies in VLSI Systems Peter Cheung Department of Electrical & Electronic Engineering Imperial College London Clocks help the design of FSM where outputs depend on both input and previous states. Clock signals provide reference points in time - define what is previous state, current state and next state: URL: www.ee.ic.ac.uk/pcheung/ E-mail: p.cheung@ic.ac.uk Lecture 7-1 Lecture 7-2 Latch vs Flip-Flop Clock for timing synchronization Clocks serve to slow down signals that are too fast Flip-flops / latches act as barriers With a latch, a signal can t propagate through until the clock is high With a Flip-flop, the signal only propagates through on the rising edge All real flip-flops consist of two latch like elements (master and slave latch) Lecture 7-3 Lecture 7-4

Latch Timing Parameters Flip-flop Timing Parameters Lecture 7-5 Lecture 7-6 Typical Clock System Clocking Overhead Latches and flops slow down the slow signals Flip-flop delays the slowest signal by the setup + clk-q delay Latches delay the late arriving signals by the delay through the latch Lecture 7-7 Lecture 7-8

Problem of Clock Skew Clock Skew and Jitter Not all clocks arrive at the same time Some clocks might be gated (ANDed with a control signal) or buffered There is an RC delay associated with clock wire Causes two problems The cycle time gets longer by the skew Clock skew Spatial variation in temporally equivalent clock edges; deterministic + random, t SK Clock jitter Temporal variations in consecutive edges of the clock signal; modulation + random noise - Cycle-to-cycle (short-term) t JS Long term t JL Both skew and jitter affect the effective cycle time Only skew affects the race margin The part can get the wrong answer Lecture 7-9 Lecture 7-10 Longest Logic Path - Edge Triggered Shortest Path Constraint Unger and Tran, Trans. On Comp. 10/86 If launching edge is early and receiving edge is late: Lecture 7-11 Lecture 7-12

Clocking Strategies Pulse Mode Clocking Trade off between overhead / robustness / complexity Constraints on the logic vs. Constraints on the clocks Look at a number of different clocking methods: Pulse mode clocking Edge triggered clocking Two phase clocking Single phase clocking Two requirements: All loops of logic are broken by a single latch The clock is a narrow pulse It must be shorter than the shortest path through the logic We will only look at system level strategy - consider clocked circuits in the next lecture Timing Requirements Lecture 7-13 Lecture 7-14 +Pulse Mode Clocking Edge Trigger Flip-flop Used in the original Cray computers (ECL machines) Popular TTL design style Advantage is it has a very small clocking overhead One latch delay added to cycle Leads to double sided timing constraints If logic is too slow OR too fast, the system will fail Used in many ASIC designs (Gate Arrays and Std Cells) Using a single clock, but replaces latches with flip-flops Pulse width is critical Hard to maintain narrow pulses through inverter chains People are starting to use this type of clocking for MOS circuits Pulse generation is done in each latch. Clock distributed is 50% duty cycle CAD tools check min delay Not a good clocking strategy for a beginning designer Timing Constraints tdmax < tcycle - tsetup - tclk-q - tskew tdmin > tskew + thold - tclk-q If skew is large enough, still have two sided timing constraints Lecture 7-15 Lecture 7-16

Two phase clocking Two phase clocking Use different edges for latching the data and changing the output Look at shift register again: If there is a large skew on the Φ2x clock, then the spacing between Φ1 and Φ2 can be increased to make sure that even with the skew, the Φ2 latch closes before the Φ1 latch lets the new data pass. For some setting of the timing of the clock edges, the circuit will work! There are 4 different time periods, all under user control: Φ1 high Φ 1 falling to Φ 2 rising Φ 2 high Φ 2 falling to Φ 1 rising Lecture 7-17 Lecture 7-18 Stable signal type General two phase system We will give signals timing types, so it will be easier to know which latch to use: Output of a Φ1 latch is stable Φ2 (_s2) good input to Φ2 latch Combination logic does not change the value of timing types. No static feedback in the combination logic is allowed either. This makes the system not sensitive to logic glitches. Output of a Φ2 latch is stable Φ1 (_s1) good input to Φ1 latch Signal is called stable2, since it is stable for the entire Φ2 period Lecture 7-19 Lecture 7-20

Why two phase clocking? Mealey and Moore Machines It is a constrained clocking style: Synchronous design Two clocks Constrained composition rules But gives this guarantee: If you clock it slow enough (with enough non-overlap between edges) It will be a level sensitive design no race, glitch, or hazard problems no skew problems One sided timing constraints Impossible for logic to be too fast Lecture 7-21 Lecture 7-22 More on latch timing Valid Signal Type Look a little more closely at latches, to come up with a more complete set of timing types (more than _s1 _s2 signals) that we can use in our synchronous designs. Look at a latch since this the critical element What is the weakest requirement on the input to a latch? Signal must settle before Φ1 falls, and not change for some time after Φ1 falling, even for a skewed Φ1 (this is usually called the setup and hold times of the latch) The weakest input to a latch is called a valid signal (_v1 _v2) For a valid signal we need to be sure we can guarantee it meets the setup and hold requirements of the latch To do this we need to have the signal settle off an edge that comes before Φ1 falling. The closest edge is Φ1 rising. The signal should not change until an edge occurs that comes after Φ1 falling. The closest edge is Φ2 rising. If we changed the input on Φ1 falling, most of the time the circuit would work fine. But if it failed, we can t change the clock timing to make the circuit work -- Φ1 falling controls the changing of the input, and the closing of the latch. Since we can t guarantee it would be ok a signal that changes on Φ1 falling would not be a _v1 signal. Lecture 7-23 Lecture 7-24

Use of valid signal Stable Signals Very useful for precharged logic Have even larger timing margins than valid signals Is not needed for standard combinational logic with latches This should always give stable signals Can t use stable signals if you want to drive two signals/cycle on a wire (multiplex the wire), since the value has to change twice. There are many wrong ways to do it, and only one right way, which is shown below. The values become _v signals. A _s1 signal starts to change sometime after Φ2 rises A _s1 signal settles sometime after Φ2 rises Input to the latch must be a _v2 (settles after Φ2 rises) Output of a latch settles some small delay after input settles Please note that combinational logic does not change the value of the timing type, even though it does increase the delay of the signal path. The timing types have to do with the clocking guarantee that we are trying to keep. This promise is that the circuit will work at some frequency. A _s1 signal might not settle until after Φ1 rises when the part is run at high-frequency, but the label means that you can make that signal stabilize before Φ1 rises if you need to by slowing the clock down. Lecture 7-25 Lecture 7-26 Qualified (Gated) Clocks Summary of Clock Types These are signals that have the same timing as clocks, but they don t occur every cycle. They are formed by ANDing a _s1 signal with Φ1 giving _q1, or ANDing a _s2 signal with Φ2 giving a _q2 signal. The control signal needs to be a stable signal to prevent glitches on the qualified clocks. The figure shows the timing of all the signals we have discussed with little arrows that indication with clock edge caused the signal to change. Remember the pictures, and the timing types are what the signals look like at slow clock frequencies Qualified clocks can only be used as the clock input to a latch Lecture 7-27 Lecture 7-28

Disadvantages of two phase clocking Advantage of Latches Over Flip-Flops Need four clocks in general Need true and complement of both clocks Still need low skew for good performance The skew increases the cycle time of the machine Need low skew between all the clocks for good performance Want to have Φ1 and Φ2 close to coincident Many systems use clock and its complement instead of 2 phases Needless to say they are very careful about clock skew For these systems it is still useful to maintain 2 phase timing types, since it ensures you connect all logic to the right latches Call Clk - Φ1 and Clk - Φ2, and go from there. Note in this class we will use Φ1 and Φ2 for clocks) If you are going to use Clk and Clk_b and control skew, why not go back to flip-flops? Many people do: Most designs in industry are based on flip-flops Very easy to verify timing Each path between flip-flops must be less than cycle time Tools check for skew and hold time violations Short paths are padded (buffers are added to slow down the signals) Skew in flip-flop based systems affects the critical path Latch designs are more flexible than a flip-flop design Gives the designer more rope Need to CAD tools to make sure it works Can borrow time to allow a path to be longer than clock period Can tolerate clock skew -- skew does not directly add to cycle time Lecture 7-29 Lecture 7-30 Single-phase Clocking Latch-based Design with Single-phase clock Unger and Tan, Trans. On Comp Oct 86 Lecture 7-31 Lecture 7-32