David Culler Electrical Engineering and Computer Sciences

Slides:



Advertisements
Similar presentations
Digital Integrated Circuits© Prentice Hall 1995 Combinational Logic COMBINATIONAL LOGIC.
Advertisements

Transmission Gate Based Circuits
CS370 – Spring 2003 Hazards/Glitches. Time Response in Combinational Networks Gate Delays and Timing Waveforms Hazards/Glitches and How To Avoid Them.
ECE C03 Lecture 71 Lecture 7 Delays and Timing in Multilevel Logic Synthesis Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Introduction to CMOS VLSI Design Sequential Circuits.
1 Introduction Sequential circuit –Output depends not just on present inputs (as in combinational circuit), but on past sequence of inputs Stores bits,
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 CMOS VLSI Design Sequential Circuits
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
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.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
Sequential Circuits. Outline  Floorplanning  Sequencing  Sequencing Element Design  Max and Min-Delay  Clock Skew  Time Borrowing  Two-Phase Clocking.
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis EE4800 CMOS Digital IC Design & Analysis Lecture 11 Sequential Circuit Design Zhuo Feng.
Introduction to CMOS VLSI Design Lecture 19: Design for Skew David Harris Harvey Mudd College Spring 2004.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
Introduction to CMOS VLSI Design Clock Skew-tolerant circuits.
Synchronous Digital Design Methodology and Guidelines
Clock Design Adopted from David Harris of Harvey Mudd College.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Contemporary Logic Design Multi-Level Logic © R.H. Katz Transparency No Chapter # 3: Multi-Level Combinational Logic 3.3 and Time Response.
Spring 2002EECS150 - Lec03-Timing Page 1 EECS150 - Digital Design Lecture 3 - Timing January 29, 2002 John Wawrzynek.
Give qualifications of instructors: DAP
Lecture 8: Clock Distribution, PLL & DLL
11/19/2004EE 42 fall 2004 lecture 341 Lecture #34: data transfer Last lecture: –Example circuits –shift registers –Adders –Counters This lecture –Communications.
1 EECS Components and Design Techniques for Digital Systems Lec 21 – RTL Design Optimization 11/16/2004 David Culler Electrical Engineering and Computer.
ECE C03 Lecture 61 Lecture 6 Delays and Timing in Multilevel Logic Synthesis Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
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.
CS 151 Digital Systems Design Lecture 32 Hazards
Contemporary Logic Design Sequential Logic © R.H. Katz Transparency No Chapter #6: Sequential Logic Design Sequential Switching Networks.
Digital Integrated Circuits© Prentice Hall 1995 Combinational Logic COMBINATIONAL LOGIC.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
Lecture 21, Slide 1EECS40, Fall 2004Prof. White Lecture #21 OUTLINE –Sequential logic circuits –Fan-out –Propagation delay –CMOS power consumption Reading:
Digital Integrated Circuits for Communication
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 10.1 EE4800 CMOS Digital IC Design & Analysis Lecture 10 Combinational Circuit Design Zhuo Feng.
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.
1 Delay Estimation Most digital designs have multiple data paths some of which are not critical. The critical path is defined as the path the offers the.
ENGSCI 232 Computer Systems Lecture 5: Synchronous Circuits.
Chapter 4 Gates and Circuits.
Lecture 2 1 Computer Elements Transistors (computing) –How can they be connected to do something useful? –How do we evaluate how fast a logic block is?
School of Computer Science G51CSA 1 Computer Systems Architecture Fundamentals Of Digital Logic.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay2 The D FlipFlop A 1-bit register is called a D flipflop. When.
Chapter 07 Electronic Analysis of CMOS Logic Gates
1 Digital Design: Time Behavior of Combinational Networks Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth,
Counter Application (Part B) By : Pn Siti Nor Diana Ismail CHAPTER 3.
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.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
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,
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
EE141 © Digital Integrated Circuits 2nd Combinational Circuits 1 A few notes for your design  Finger and multiplier in schematic design  Parametric analysis.
Clocking System Design
Timing Behavior of Gates
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 5, 2012 Synchronous Circuits.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
Reading: Hambley Ch. 7; Rabaey et al. Sec. 5.2
David Culler Electrical Engineering and Computer Sciences
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Day 26: November 1, 2013 Synchronous Circuits
Overview Last Lecture Conversion of two-level logic to NAND or NOR forms Multilevel logic AOI and OAI gates Today Timing and hazards Multiplexers and demultiplexers.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
332:578 Deep Submicron VLSI Design Lecture 14 Design for Clock Skew
Chapter 3 Overview • Multi-Level Logic
Lecture 19 Logistics Last lecture Today
Reading: Hambley Ch. 7; Rabaey et al. Secs. 5.2, 5.5, 6.2.1
Presentation transcript:

EECS 150 - Components and Design Techniques for Digital Systems Lec 14 - Timing David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler http://www-inst.eecs.berkeley.edu/~cs150

Outline General Model of Synchronous Systems Delay in logic gates Performance Limits Delay in logic gates Delay in wires Delay in combinational networks Clock Skew Delay in flip-flops Glitches

General Model of Synchronous Circuit All wires, except clock, may be multiple bits wide. Registers (reg) collections of flip-flops clock distributed to all flip-flops typical rate? Combinational Logic Blocks (CL) no internal state output only a function of inputs Particular inputs/outputs are optional Optional Feedback

Example Circuit Parallel to Serial Converter All signal paths single bit wide Registers are single flip-flops Combinational Logic blocks are simple multiplexors No feedback in this case.

General Model of Synchronous Circuit How do we measure performance? operations/sec? cycles/sec? What limits the clock rate? What happens as we increase the clock rate?

Limitations on Clock Rate Logic Gate Delay What are typical delay values? Delays in flip-flops Both times contribute to limiting the clock period. What must happen in one clock cycle for correct operation? Assuming perfect clock distribution (all flip-flops see the clock at the same time): All signals must be ready and “setup” before rising edge of clock.

Example: Parallel-Serial Converter b clk T  time(clkQ) + time(mux) + time(setup) T  clkQ + mux + setup

General Model of Synchronous Circuit In general, for correct operation: for all paths. How do we enumerate all paths? Any circuit input or register output to any register input or circuit output. “setup time” for circuit outputs depends on what it connects to “clk-Q time” for circuit inputs depends on from where it comes. T  time(clkQ) + time(CL) + time(setup) T  clkQ + CL + setup

Recall L2: Transistor-level Logic Circuits Inverter (NOT gate): Vdd Gnd what is the relationship between in and out? Vdd in out 0 volts Gnd 3 volts

Qualitative Analysis of Logic Delay Improved Transistor Model: We refer to transistor "strength" as the amount of current that flows for a given Vds and Vgs. The strength is linearly proportional to the ratio of W/L Physical property Turn it on harder allows more current to flow pFET nFET What is the effective resistance?

Gate Switching Behavior d Inverter: NAND gate: When does it start? How quickly does it switch?

Clarify your understanding What is the 0  1 and 1  0 behavior of a NOR gate? Why do we need pMOS and nMOS devices in a pass gate? - used for tristate

Delays in a series of gates Cascaded gates:

Gate Delay due to fan out The delay of a gate is proportional to its output capacitance. Because, gates #2 and 3 turn on/off at a later time. (It takes longer for the output of gate #1 to reach the switching threshold of gates #2 and 3 as we add more output capacitance.) 2 1 3

Gate Delay with a general circuit “Fan-in” Does it affect the delay of the individual gate? When does the gate begin its transition? What is the delay in this circuit? Critical Path: the path with the maximum delay, from any input to any output. In general, we include register set-up and clk-to-Q times in critical path calculation. Why do we care about the critical path?

What is the delay through arbitrary combinational logic?

Announcements Reading: Katz 3.5, 6.15-6.23 Results of class survey

Delay in Flip-flops Setup time results from delay through first latch. Clock to Q delay results from delay through second latch. clk clk clk’ clk’ clk’ clk’ clk clk

Wire Delay In general, wire behave as “transmission lines”: signal wave-front moves close to the speed of light ~1ft/ns Time from source to destination is called the “transit time”. In ICs most wires are short, and the transit times are relatively short compared to the clock period and can be ignored. Not so on PC boards. ...Or long wires on fast chips Busses Global Control signals Clock

Architectural Level Delay Data busses Controller datapath clock

Wire Delay Even in those cases where the transmission line effect is negligible: Wires posses distributed resistance and capacitance Time constant associated with distributed RC is proportional to the square of the wire length For short wires on ICs, resistance is insignificant (relative to effective R of transistors), but C is important. Typically around half of C of gate load is in the wires. For long wires on ICs: busses, clock lines, global control signal, etc. Resistance is significant, therefore distributed RC effect dominates. signals are typically “rebuffered” to reduce delay: v1 v2 v3 v4 v1 v2 v3 v4 time

Modern rule of thumb Transistors are cheap Wire is what counts And their local wires Wire is what counts Often pays to do extra local computation (gates) to reduce wire delay

Clock Skew Unequal delay in distribution of the clock signal to various parts of a circuit: if not accounted for, can lead to erroneous behavior. (see next) Comes about because: clock wires have delay, circuit is designed with a different number of clock buffers from the clock source to the various clock loads, or buffers have unequal delay. All synchronous circuits experience some clock skew: more of an issue for high-performance designs operating with very little extra time per clock cycle. clock skew, delay in distribution

Clock Skew Constraints CLK CLK’ CLK CLK’ clock skew, delay in distribution If clock period T = TCL+Tsetup+TclkQ, circuit will fail Delay relative to CLK = Tskew + TCL+Tsetup+TclkQ Therefore: 1. Control clock skew a) Careful clock distribution. Equalize path delay from clock source to all clock loads by controlling wires delay and buffer delay. b) don’t “gate” clocks. 2. T  TCL+Tsetup+TclkQ + worst case skew. Most modern large high-performance chips (microprocessors) control end to end clock skew to a few tenths of a nanosecond.

Hacking Clock Skew CL Note reversed buffer. CLK CLK’ CLK CL CLK’ clock skew, delay in distribution Note reversed buffer. In this case, clock skew actually provides extra time (adds to the effective clock period). This effect has been used to help run circuits as higher clock rates. Risky business! What happens when reg at end of distribution tree feeds back to earlier reg?

Time to ask clarifying questions

Other effects of Delays on Combinational Logic

Time Behavior of Combinational Networks Waveforms Visualization of values carried on signal wires over time Useful in explaining sequences of events (changes in value) Simulation tools are used to create these waveforms Input to the simulator includes gates and their connections Input stimulus, that is, input signal waveforms Some terms Gate delay—time for change at input to cause change at output Min delay–typical/nominal delay–max delay Careful designers design for the worst case Rise time—time for output to transition from low to high voltage Fall time—time for output to transition from high to low voltage Pulse width—time an output stays high or low between changes

Momentary Changes in Outputs Can be useful—pulse shaping circuits Can be a problem—incorrect circuit operation (glitches/hazards) Example: pulse shaping circuit A' • A = 0 delays matter in function F A B C D D remains high for three gate delays after A changes from low to high F is not always 0 pulse 3 gate-delays wide

Oscillatory Behavior Another pulse shaping circuit + resistor nMOS inverter A B open switch C D close switch initially undefined open switch

Hazards/Glitches Hazards/glitches: unwanted switching at the outputs Occur when different paths through circuit have different propagation delays As in pulse shaping circuits we just analyzed Dangerous if logic causes an action while output is unstable May need to guarantee absence of glitches Usual solutions 1) Wait until signals are stable (by using a clock): preferable (easiest to design when there is a clock – synchronous design) 2) Design hazard-free circuits: sometimes necessary (clock not used – asynchronous design)

Types of Hazards Static 1-hazard Static 0-hazard Dynamic hazards Input change causes output to go from 1 to 0 to 1 Static 0-hazard INput change causes output to go from 0 to 1 to 0 Dynamic hazards Input change causes a double change from 0 to 1 to 0 to 1 OR from 1 to 0 to 1 to 0 1 1 1 1

Static Hazards Due to a literal and its complement momentarily taking on the same value Thru different paths with different delays and reconverging May cause an output that should have stayed at the same value to momentarily take on the wrong value Example: A A S B S' B F S S' F hazard static-0 hazard static-1 hazard

Dynamic Hazards Due to the same versions of a literal taking on opposite values Thru different paths with different delays and reconverging May cause an output that was to change value to change 3 times instead of once Example: A C A C B F 1 2 3 B1 B2 B3 F hazard dynamic hazards

Eliminating Static Hazards Following 2-level logic function has a hazard, e.g., when inputs change from ABCD = 0101 to 1101 No Glitch in this case This is the fix Glitch in this case

Eliminating Dynamic Hazards Very difficult! A circuit that is static hazard free can still have dynamic hazards Best approach: Design critical circuits to be two level and eliminate all static hazards OR, use good clocked synchronous design style

Summary All gates have delays Wires are distributed RCs RC delay in driving the output Wires are distributed RCs Delays goes with the square of the length Source circuits determines strength Serial vs parallel Delays in combinational logic determine by Input delay Path length Delay of each gate along the path Worst case over all possible input-outputs Setup and CLK-Q determined by the two latches in flipflop Clock cycle : Tcycle  TCL+Tsetup+TclkQ + worst case skew Delays can introduce glitches in combinational logic