Lecture 7: Clocking of VLSI Systems



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

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

Lecture 11: Sequential Circuit Design

Lecture 10: Sequential Circuits

Sequential Circuits. Combinational Circuits Outputs depend on the current inputs

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

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

Sequential Circuit Design

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

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

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

路 論 Chapter 15 System-Level Physical Design

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

A New Paradigm for Synchronous State Machine Design in Verilog

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

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

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

Lecture 10: Latch and Flip-Flop Design. Outline

Sequential Logic Design Principles.Latches and Flip-Flops

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

Counters and Decoders

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

Memory Elements. Combinational logic cannot remember

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

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

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

Lecture-3 MEMORY: Development of Memory:

ASYNCHRONOUS COUNTERS

Theory of Logic Circuits. Laboratory manual. Exercise 3

Design Verification & Testing Design for Testability and Scan

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

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

Chapter 9 Latches, Flip-Flops, and Timers

Lesson 12 Sequential Circuits: Flip-Flops

Sequential Logic: Clocks, Registers, etc.

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

Master/Slave Flip Flops

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

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

CS311 Lecture: Sequential Circuits

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

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

Chapter 2 Clocks and Resets

Power Reduction Techniques in the SoC Clock Network. Clock Power

Module 3: Floyd, Digital Fundamental

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

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

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

CHAPTER 11 LATCHES AND FLIP-FLOPS

CSE140: Components and Design Techniques for Digital Systems

Lecture 8: Synchronous Digital Systems

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

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

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

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

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.

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

Lecture 5: Gate Logic Logic Optimization

Chapter 2 Logic Gates and Introduction to Computer Architecture

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

ECE380 Digital Logic

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

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

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

Combinational Logic Design Process

Digital Fundamentals

Multiple clock domains

Alpha CPU and Clock Design Evolution

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

Sequential 4-bit Adder Design Report

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Cascaded Counters. Page 1 BYU

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

Engr354: Digital Logic Circuits

Set-Reset (SR) Latch

TRUE SINGLE PHASE CLOCKING BASED FLIP-FLOP DESIGN

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

Digital Logic Design Sequential circuits

Asynchronous Counters. Asynchronous Counters

Chapter 5. Sequential Logic

Layout of Multiple Cells

CHAPTER 11: Flip Flops

1.1 The 7493 consists of 4 flip-flops with J-K inputs unconnected. In a TTL chip, unconnected inputs

Digital Electronics Detailed Outline

EE411: Introduction to VLSI Design Course Syllabus

The components. E3: Digital electronics. Goals:

LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters

System on Chip Design. Michael Nydegger

CHAPTER 3 Boolean Algebra and Digital Logic

Contents COUNTER. Unit III- Counters

Decimal Number (base 10) Binary Number (base 2)

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

RETRIEVING DATA FROM THE DDC112

Introduction to CMOS VLSI Design

SECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks

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

A Survey on Sequential Elements for Low Power Clocking System

DM74LS169A Synchronous 4-Bit Up/Down Binary Counter

Transcription:

Lecture 7: Clocking of VLSI Systems MAH, AEN EE271 Lecture 7 1 Overview Reading Wolf 5.3 Two-Phase Clocking (good description) W&E 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.9, 5.5.10 - Clocking Note: The analysis of latch designs in 5.5.3 is not correct, don t be confused by it. Also the description of two phase clocking in 5.5.9-5.5.10 is not very good. The notes are probably better Introduction We will take a brief digression and talk about different methods of sequencing FSMs. This is usually done using clocks and storage elements (latches and flipflops). This lecture looks at the function that clocks serve in a system, and the trade-offs between the different clocking methods. It presents 2-phase clocking, one of the safest clocking methods around, and the one we will use in this class. Industry uses clocking methods that are less safe (either edge-triggered design or latch design using clock and clock_b) and the lecture will discuss these clocking methods as well. MAH, AEN EE271 Lecture 7 2

Why Have Clocks The whole reason that we need clocks is that we want the output to depend on more than just the inputs, we want it to depend on previous outputs too. These previous outputs are the state bits of the FSM, and are the signals that cause lots of problems. The state bits cause problems because we now need some sort of policy to define what previous and next mean. This is almost always done with the help of a clock, to provide reference points in time. Clock prev this next MAH, AEN EE271 Lecture 7 3 Common View of Clock s Function Clocks work with Latches or Flip-Flops to hold state Latch When the clock is high it passes In value to Output When the clock is low, it holds value In had when the clock fell Flip-Flop On the rising edge of clock, it transfers the value of In to Out It holds the value at all other times. In Out In Out In In Out Out Latch Flip-Flop MAH, AEN EE271 Lecture 7 4

Important Point The real issue is to keep the signals correlated in time I don t really care where the boundaries are - All I want to know is that the signals don t mix - All I really need to know is that there is some boundary If the delay of every path through my logic was exactly the same Comb Logic - Then I would not need clocks - Signals stay naturally correlated in time People do this to a limited degree. It is called wave pipelining. - The state is stored in the gates and the wires. MAH, AEN EE271 Lecture 7 5 Alternative View Clocks serve to slow down signals that are too fast Flip-flops / latches act as barriers Latch Flip-Flop DQ DQ D Q D Q Soft Barrier Hard Barrier - 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 Note that all real flip-flops consist of two latch like elements (master and slave latch) MAH, AEN EE271 Lecture 7 6

Clocking Overhead Problem is that the latches and flops slow down the slow signals too Din Flip Flop Latch Qout T hold T setup + T clk-q T d-q Flip-flop delays the slowest signal by the setup + clk-q delay Latches delay the late arriving signals by the delay through the latch Start by focusing on the most common clocking discipline - edge triggered flops MAH, AEN EE271 Lecture 7 7 Clock Skew 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 Flop Logic Flop T cycle = T d +T setup + T clk-q + T skew Late Early The part can get the wrong answer Flop Flop T skew > T clk-q - T hold Early Late MAH, AEN EE271 Lecture 7 8

Clock Design 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 Single phase clocking Two phase clocking The one we will use The most robust. MAH, AEN EE271 Lecture 7 9 Pulse Mode 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 t cycle C L n n Latch t w Timing Requirements t dmax < t cycle - t d-q - t skew t dmin > t w - t d-q + t skew MAH, AEN EE271 Lecture 7 10

Pulse Mode Clocking 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 MAH, AEN EE271 Lecture 7 11 Edge Triggered Flop Design Popular TTL design style Used in many ASIC designs (Gate Arrays and Std Cells) Using a single clock, but replaces latches with flip-flops t cycle C L n n Flop Timing Constraints t dmax < t cycle - t setup - t clk-q - t skew t dmin > t skew + t hold - t clk-q If skew is large enough, still have two sided timing constraints MAH, AEN EE271 Lecture 7 12

The Problem The same edge controls the enable of the output and the latching of the input the rising edge of the clock. L1M L1S L2M L2S DQ D Q D Q D Q for L2M w/ skew Clock Data (L1S) If there is skew the L2M can close after the data from L1S changes Since both events are triggered from the same clock edge, a user can t change the clock and make the circuit work Changing the clock frequency will not fix this problem Need to change flop or skew need to redo the chip MAH, AEN EE271 Lecture 7 13 2 Phase Clocking Use different edges for latching the data and changing the output t cycle There are 4 different time periods, all under user control: high falling to rising high falling to rising These two times can be small (less than zero if skew is 0) Key is the spacing is under user control MAH, AEN EE271 Lecture 7 14

2 Phase Clocking Look at shift register again: D Q D Q D Q D Q Data x w/ skew If there is a large skew on the x clock, then the spacing between and can be increased to make sure that even with the skew, the latch closes before the latch lets the new data pass. For some setting of the timing of the clock edges, the circuit will like a perfect abstract FSM. MAH, AEN EE271 Lecture 7 15 Terminology We will give signals timing types, so it will be easier to know which latch to use: Output of a latch is stable (_s2) good input to latch Output of a latch is stable (_s1) good input to latch _s2 _s1 _s2 Signal is called stable2, since it is stable for the entire period MAH, AEN EE271 Lecture 7 16

General 2 Phase System Combination logic does not change the value of timing types. _s1 C L _s1 _s2 _s1 _s2 C L _s2 No static feedback in the combination logic is allowed either. This makes the system not sensitive to logic glitches. MAH, AEN EE271 Lecture 7 17 Why 2 Phase Clocking 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) - Model as FSM - It will be a level sensitive design no race, glitch, or hazard problems no skew problems - One sided timing constraints Logic can t be too fast MAH, AEN EE271 Lecture 7 18

A Generic Mealy Machine Inputs_s2 Combinational Outputs Logic State This is a Mealy machine, since the outputs are a direct function of the inputs. Note that the inputs and the state inputs to the combination logic need to have the same timing type (_s2 in this case). Note: Mealy outputs change in the same cycle as the input change, but this means they might change late in the cycle. MAH, AEN EE271 Lecture 7 19 A Generic Moore Machine Inputs Combinational Logic Outputs State This is a Moore machine, since both the state and the outputs are registered (you could consider the outputs to be more state bits). But since you call only some of the outputs state bits, you can implement a Mealy state transition diagram this way. Note: All Moore outputs change a cycle after the inputs change MAH, AEN EE271 Lecture 7 20

More Timing 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? In setup hold _s2 Signal must settle before falls, and not change for some time after falling, even for a skewed (this is usually called the setup and hold times of the latch) MAH, AEN EE271 Lecture 7 21 Valid Signals 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 falling. The closest edge is rising. The signal should not change until an edge occurs that comes after falling. The closest edge is rising. _v1 If we changed the input on 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 -- 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 falling would not be a _v1 signal. MAH, AEN EE271 Lecture 7 22

+ Use of a Valid Signal Very useful for precharged logic, but that comes later in the class 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. _v1, _v2 _s1 _s2 MAH, AEN EE271 Lecture 7 23 Stable Signals Have even larger timing margins than valid signals 1 _s1 A _s1 signal starts to change sometime after rises A _s1 signal settles sometime after rises Input to the latch must be a _v2 (settles after rises) Output of a latch settles some small delay after input settles 1. 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 rises when the part is run at high-frequency, but the label means that you can make that signal stabilize before rises if you need to by slowing the clock down. MAH, AEN EE271 Lecture 7 24

Qualified Clocks 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 giving _q1, or ANDing a _s2 signal with giving a _q2 signal. The control signal needs to be a stable signal to prevent glitches on the qualified clocks. Qualified clocks can only be used as the clock input to a latch It is not a valid data input (why) Control_s1 _q1 MAH, AEN EE271 Lecture 7 25 Qualified (gated) Clocks They provide a conditional load Allow the merging of a mux and clock Remember you need to generate both true and complement control for the transmission gates Control * Control * MAH, AEN EE271 Lecture 7 26

- Clocking Types Review 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 _s2 _v1 Control_s1 _q1 MAH, AEN EE271 Lecture 7 27 Verilog Coding Rules Follow 2 phase clocking in all your verilog code Append a timing type to all signals in your design - _s1 _s2 _v1 _v2 _q1 _q2 - For weird timing types use _w For pipelined machines you can add an additional character to indicate which pipestage that signal is from - For example if a machine has an Instruction Fetch and an Execute cycle, then you could use _s1i for signals related to the fetch, and _s1e for signals related to the exec stage. Standard verilog latch always @(Phi1 or Data_s1) if (Phi1) Q_s2 = Data_s1 MAH, AEN EE271 Lecture 7 28

Verilog Rules Remember that combinational logic does not change the timing types Combining a valid and stable signal always leaves a valid signal Combinational logic should not have both _s1 and _s2 inputs, since it will not have a good timing type for its output 1 There is a program, vcheck, that will check your verilog for clocking / signal labelling problems. 1. Actually it does have a defined timing type (I will let you figure it out), but it is probably a logical bug, so it is not allowed. MAH, AEN EE271 Lecture 7 29 Disadvantage of 2 Phase Clocking 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 and 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 - and -, and go from there. - (Note in this class we will use and for clocks) MAH, AEN EE271 Lecture 7 30

Advantage of Latches Over Flops If you are going to use and _b and control skew, why not go back to flops? Many people do - Most designs in industry are based on flops - Very easy to verify timing Each path between 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 flop based systems affects the critical path Latch designs are more flexible than a flop design - Gives the designer more rope Need to CAD tools to make sure s/he uses it wisely - 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 MAH, AEN EE271 Lecture 7 31 MAH, AEN EE271 Lecture 7 32