Latch Timing Parameters. Flip-flop Timing Parameters. Typical Clock System. Clocking Overhead



Similar documents
Lecture 7: Clocking of VLSI Systems

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

Lecture 11: Sequential Circuit Design

Lecture 10: Sequential Circuits

Sequential Circuits. Combinational Circuits Outputs depend on the current inputs

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 16 Timing and Clock Issues

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

Clocking. Figure by MIT OCW Spring /18/05 L06 Clocks 1

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Sequential Circuit Design

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

Lecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Topics. Flip-flop-based sequential machines. Signals in flip-flop system. Flip-flop rules. Latch-based machines. Two-sided latch constraint

Timing Methodologies (cont d) Registers. Typical timing specifications. Synchronous System Model. Short Paths. System Clock Frequency

Sequential Logic Design Principles.Latches and Flip-Flops

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

A New Paradigm for Synchronous State Machine Design in Verilog

Sequential Logic: Clocks, Registers, etc.

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

Lecture 10: Latch and Flip-Flop Design. Outline

Lesson 12 Sequential Circuits: Flip-Flops

Two-Phase Clocking Scheme for Low-Power and High- Speed VLSI

Lecture-3 MEMORY: Development of Memory:

Power Reduction Techniques in the SoC Clock Network. Clock Power

Weste07r4.fm Page 183 Monday, January 5, :39 AM. 7.1 Introduction

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

TIMING-DRIVEN PHYSICAL DESIGN FOR DIGITAL SYNCHRONOUS VLSI CIRCUITS USING RESONANT CLOCKING

ECE380 Digital Logic

EE552. Advanced Logic Design and Switching Theory. Metastability. Ashirwad Bahukhandi. (Ashirwad Bahukhandi)

S. Venkatesh, Mrs. T. Gowri, Department of ECE, GIT, GITAM University, Vishakhapatnam, India

ECE124 Digital Circuits and Systems Page 1

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Alpha CPU and Clock Design Evolution

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

DM Segment Decoder/Driver/Latch with Constant Current Source Outputs

Set-Reset (SR) Latch

CSE140: Components and Design Techniques for Digital Systems

Chapter 9 Latches, Flip-Flops, and Timers

Flip-Flops, Registers, Counters, and a Simple Processor

IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1)

Chapter 2 Clocks and Resets

路 論 Chapter 15 System-Level Physical Design

LOW POWER DESIGN OF DIGITAL SYSTEMS USING ENERGY RECOVERY CLOCKING AND CLOCK GATING

TRUE SINGLE PHASE CLOCKING BASED FLIP-FLOP DESIGN

Fairchild Solutions for 133MHz Buffered Memory Modules

So far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.

Theory of Logic Circuits. Laboratory manual. Exercise 3

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

Master/Slave Flip Flops

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

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

SEQUENTIAL CIRCUITS. Block diagram. Flip Flop. S-R Flip Flop. Block Diagram. Circuit Diagram

Counters and Decoders

RETRIEVING DATA FROM THE DDC112

Static-Noise-Margin Analysis of Conventional 6T SRAM Cell at 45nm Technology

WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

CLOCK DOMAIN CROSSING CLOSING THE LOOP ON CLOCK DOMAIN FUNCTIONAL IMPLEMENTATION PROBLEMS

Cascaded Counters. Page 1 BYU

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Memory Elements. Combinational logic cannot remember

Clocks Basics in 10 Minutes or Less. Edgar Pineda Field Applications Engineer Arrow Components Mexico

Sequential 4-bit Adder Design Report

Design Verification & Testing Design for Testability and Scan

Lecture 8: Synchronous Digital Systems

A Survey on Sequential Elements for Low Power Clocking System

Model-Based Synthesis of High- Speed Serial-Link Transmitter Designs

Chapter 5. Sequential Logic

ANALOG & DIGITAL ELECTRONICS

DIGITAL SYSTEM CLOCKING. High-Performance and Low-Power Aspects

CHAPTER 11 LATCHES AND FLIP-FLOPS

Digital Electronics Part I Combinational and Sequential Logic. Dr. I. J. Wassell

ASYNCHRONOUS COUNTERS

Multiple clock domains

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Clock Distribution in RNS-based VLSI Systems

NAME AND SURNAME. TIME: 1 hour 30 minutes 1/6

DM74LS169A Synchronous 4-Bit Up/Down Binary Counter

Multi-GHz Systems Clocking Invited Paper

Finite State Machine. RTL Hardware Design by P. Chu. Chapter 10 1

CS311 Lecture: Sequential Circuits

CHAPTER 3 Boolean Algebra and Digital Logic

7. Latches and Flip-Flops

CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on

PowerPC Microprocessor Clock Modes

Module 3: Floyd, Digital Fundamental

Asynchronous counters, except for the first block, work independently from a system clock.

Design Example: Counters. Design Example: Counters. 3-Bit Binary Counter. 3-Bit Binary Counter. Other useful counters:

Chapter 2 Logic Gates and Introduction to Computer Architecture

Getting the Most Out of Synthesis

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

I 2 S bus specification

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

Wiki Lab Book. This week is practice for wiki usage during the project.

Asynchronous Counters. Asynchronous Counters

True Single Phase Clocking Flip-Flop Design using Multi Threshold CMOS Technique

Chapter 13: Verification

Transcription:

Clock - key to synchronous systems Topic 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 Topic 7-1 Topic 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) Topic 7-3 Topic 7-4

Latch Timing Parameters Flip-flop Timing Parameters Topic 7-5 Topic 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 Topic 7-7 Topic 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 Topic 7-9 Topic 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: Topic 7-11 Topic 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 We will only look at system level strategy - consider clocked circuits in the next lecture 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 Timing Requirements Topic 7-13 Topic 7-14 +Pulse Mode Clocking Edge Trigger Flip-flop Used in the original Cray computers (ECL machines) 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 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 Popular TTL design style Used in many ASIC designs (Gate Arrays and Std Cells) Using a single clock, but replaces latches with flip-flops Timing Constraints tdmax < tcycle - tsetup - tclk-q - tskew tdmin > tskew + thold - tclk-q If skew is large enough, still have two sided timing constraints Topic 7-15 Topic 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 Topic 7-17 Topic 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 Topic 7-19 Topic 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 Topic 7-21 Topic 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. Topic 7-23 Topic 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 A _s1 signal starts to change sometime after Φ2 rises A _s1 signal settles sometime after Φ2 rises 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. 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. Topic 7-25 Topic 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 Topic 7-27 Topic 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 Topic 7-29 Topic 7-30 Single-phase Clocking Latch-based Design with Single-phase clock Unger and Tan, Trans. On Comp Oct 86 Topic 7-31 Topic 7-32