EECS150 - Digital Design Lecture 17 - Circuit Timing. Performance, Cost, Power

Similar documents
EECS150 - Digital Design Lecture 3 - Timing

EECS150 - Digital Design Lecture 3 - Timing

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

CS 250 VLSI System Design

EECS150 - Digital Design Lecture 2 - CMOS

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Design and Simulation of a Digital CMOS Synchronous 4-bit Up-Counter with Set and Reset

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics

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

EECS150 - Digital Design Lecture 9 - CPU Microarchitecture. CMOS Devices

Flip-Flops A) Synchronization: Clocks and Latches B) Two Stage Latch C) Memory Requires Feedback D) Simple Flip-Flop Gate

Sequential Circuit Design: Part 1

ELE2120 Digital Circuits and Systems. Tutorial Note 7

Digital Integrated Circuits EECS 312

ECE321 Electronics I

CMOS Latches and Flip-Flops

Digital Integrated Circuits EECS 312. Review. Remember the ENIAC? IC ENIAC. Trend for one company. First microprocessor

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

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

Why FPGAs? FPGA Overview. Why FPGAs?

Sequential Circuit Design: Part 1

nmos transistor Basics of VLSI Design and Test Solution: CMOS pmos transistor CMOS Inverter First-Order DC Analysis CMOS Inverter: Transient Response

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

Chapter 2. Digital Circuits

PESIT Bangalore South Campus

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

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

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

Energy Recovery Clocking Scheme and Flip-Flops for Ultra Low-Energy Applications

11. Sequential Elements

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

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

Introduction. NAND Gate Latch. Digital Logic Design 1 FLIP-FLOP. Digital Logic Design 1

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

CS 152 Computer Architecture and Engineering

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Digital Integrated Circuits EECS 312

EECS150 - Digital Design Lecture 15 Finite State Machines. Announcements

Lecture 8: Sequential Logic

Design and Analysis of Custom Clock Buffers and a D Flip-Flop for Low Swing Clock Distribution Networks. A Thesis presented.

SEQUENTIAL CIRCUITS SEQUENTIAL CIRCUITS


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

Chapter 5 Flip-Flops and Related Devices

COMP2611: Computer Organization. Introduction to Digital Logic

EE-382M VLSI II FLIP-FLOPS

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

Electrical & Computer Engineering ECE 491. Introduction to VLSI. Report 1

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

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

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

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

Universal Asynchronous Receiver- Transmitter (UART)

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

CPS311 Lecture: Sequential Circuits

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous)

Counters

Lecture 10: Sequential Circuits

Logic Design. Flip Flops, Registers and Counters

Clocking Spring /18/05

CHAPTER 4: Logic Circuits

More Digital Circuits

CS/EE 6710 Digital VLSI Design CAD Assignment #3 Due Thursday September 21 st, 5:00pm

Saturated Non Saturated PMOS NMOS CMOS RTL Schottky TTL ECL DTL I I L TTL

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

EECS 270 Final Exam Spring 2012

Clock Generation and Distribution for High-Performance Processors

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

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

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

Lecture 1: Intro to CMOS Circuits

Introduction to CMOS VLSI Design (E158) Lecture 11: Decoders and Delay Estimation

CSE 352 Laboratory Assignment 3

ELEC 4609 IC DESIGN TERM PROJECT: DYNAMIC PRSG v1.2

Flip-Flops and Related Devices. Wen-Hung Liao, Ph.D. 4/11/2001

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

SYNCHRONOUS DERIVED CLOCK AND SYNTHESIS OF LOW POWER SEQUENTIAL CIRCUITS *

Topic D-type Flip-flops. Draw a timing diagram to illustrate the significance of edge

TKK S ASIC-PIIRIEN SUUNNITTELU

Contents Circuits... 1

Logic Design II (17.342) Spring Lecture Outline

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

CS8803: Advanced Digital Design for Embedded Hardware

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

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

Lecture 1: Circuits & Layout

Final Exam review: chapter 4 and 5. Supplement 3 and 4

Design Low-Power and Area-Efficient Shift Register using SSASPL Pulsed Latch

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

MOS Logic Families. Somayyeh Koohi. Department of Computer Engineering Sharif University of Technology

ELEN Electronique numérique

WINTER 15 EXAMINATION Model Answer

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

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

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

Dual Edge Adaptive Pulse Triggered Flip-Flop for a High Speed and Low Power Applications

Chapter 4: One-Shots, Counters, and Clocks

Transcription:

EECS150 - Digital Design Lecture 17 - Circuit Timing March 10, 2011 John Wawrzynek Spring 2011 EECS150 - Lec16-timing Page 1 Performance, Cost, Power How do we measure performance? operations/sec? cycles/sec? Performance is directly proportional to clock frequency Although it may not be the entire story: Ex: CPU performance = # instructions CPI clock period Spring 2011 EECS150 - Lec16-timing Page 2

ARM processor Microarch Timing Analysis 0&7 Timing Analysis What is the smallest T that produces correct operation? f T 1 MHz 1 μs 10 MHz 100 ns 100 MHz 10 ns 1 GHz 1 ns Spring 2011 EECS150 - Lec16-timing Page 3 Timing Analysis and Logic Delay Combinational Logic If T > worst-case delay through CL, does this ensure correct operation? Spring 2011 EECS150 - Lec16-timing Page 4

Limitations on Clock Rate 1 Logic Gate Delay 2 Delays in flip-flops What are typical delay values? Both times contribute to limiting the clock period What must happen in one clock cycle for correct operation? All signals connected to FF (or memory) inputs must be ready and setup before rising edge of clock For now we assume perfect clock distribution (all flip-flops see the clock at the same time) Spring 2011 EECS150 - Lec16-timing Page 5 Example Parallel to serial converter circuit clk a T time(clk Q) + time(mux) + time(setup) T τ clk Q + τ mux + τ setup b Spring 2011 EECS150 - Lec16-timing Page 6

In General A For correct operation: Review: General C/L Cell Delay Model T τ clk Q + τ CL + τ setup B Model: MOS How do Cout we enumerate all paths? for all paths Any circuit input or register output functional (input to any -> output) register behaviorinput or circuit output? Note: transition Cout setup time for outputs is a function of what it connects to Combinational clk-to-q Cell (symbol) for is circuit fully specified inputs depends by: on where it comes from functional (input Spring -> 2011 output) behavior CS152 / Kubiatowicz EECS150 - Lec16-timing Page 7 B Spring 2004 1/28/04 UCB Spring 2004 - truth-table, logic equation, Lec329 VHDL OS Linear model composes 8/04 UCB Spring 2004 etal Oxide Semiconductor Semiconductor) transistors emiconductor) transistors Symbol Circuit PMOS CL Delay: Transistors as water valves In Out In Out!"#$%&'(#)*(+,%-$*"(/0 = 5V If electrons are water molecules, Basic Components: CMOS 1 Inverter 2+$0#$03 and a capacitor a bucket e onductor Symbol te e h load factor of each input critical propagation delay from each input to each output for each transition In Combinational Logic Cell Vout Internal Delay A on p-fet fills = 5V In up the capacitor with charge CS152 / Kubiatowicz Vout Lec331 Delay Va -> Vout Review: General C/L Cell Delay Model Combinational Cell (symbol) is fully specified by: delay per unit - load truth-table, logic equation, VHDL load factor of each input critical propagation delay from each input to each output for each Ccritical - T HL (A, o) = Fixed Internal Delay + Load-dependent-delay x load Linear model composes Discharge 0 Vin Time Water level CS152 / Kubiatowicz 8/04 UCB Spring 2004 Spring 2011 EECS150 - Lec16-timing Lec332 Page 8 A B Combinational Logic Cell - T HL (A, o) = Fixed Internal Delay + Load-dependent-delay x load Out 2+$0#$03 Inverter Operation te onductor B Spring 2004 Open Charge Vout Cout Internal Delay 1/28/04 UCB Spring 2004 1 Delay Va -> Vout Basic Components: CMOS Inverter Inverter Operation GND = 0v 1 Vout Circuit PMOS Out Charge!"#$%&'(#)*(+,%-$*"(/0 NMOS GND = 0v Open 0 1 4546%,"#$3 A on n-fet empties the bucket CS152 / Kubiatowicz Lec330 Open Out This model is often good enough Water level delay per unit load Time NMOS Vin Ccritical Cout CS152 / Kubiatowicz Lec330 Open Out Discharge CS152 / Kubiatowicz Lec332 4546%,"#$3!"#$%&'())* ++,!-)'/ 012-)34$5$%& 67&1'-)

Transistors as Conductors Improved Transistor Model: nfet 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 pfet Spring 2011 EECS150 - Lec16-timing Page 9 Gate Delay is the Result of Cascading Cascaded gates: transfer curve for inverter Spring 2011 EECS150 - Lec16-timing Page 10

Delay in Flip-flops Setup time results from delay through first latch clk clk clk Clock to Q delay results from delay through second latch clk clk clk clk clk Spring 2011 EECS150 - Lec16-timing Page 11 Wire Delay In general, wires 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 Spring 2011 EECS150 - Lec16-timing Page 12

Even in those cases where the transmission line effect is negligible: Wires posses distributed resistance and capacitance v1 v2 v3 v4 Time constant associated with distributed RC is proportional to the square of the length Wire Delay 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 time Spring 2011 EECS150 - Lec16-timing Page 13 Delay and Fan-out 2 1 3 The delay of a gate is proportional to its output capacitance Connecting the output of gate one increases it s output capacitance Therefore, it takes increasingly longer for the output of a gate to reach the switching threshold of the gates it drives as we add more output connections Driving wires also contributes to fan-out delay What can be done to remedy this problem in large fan-out situations? Spring 2011 EECS150 - Lec16-timing Page 14

Critical Path Critical Path: the path in the entire design with the maximum delay This could be from state element to state element, or from input to state element, or state element to output, or from input to output (unregistered paths) For example, what is the critical path in this circuit? Why do we care about the critical path? Spring 2011 EECS150 - Lec16-timing Page 15 Searching for processor critical path Must consider all connected register pairs, paths from input to register, register to output Don t forget the controller? Design tools help in the search Synthesis tools report delays on paths, Special static timing analyzers accept a design netlist and report path delays, and, of course, simulators can be used to determine timing performance Tools that are expected to do something about the timing behavior (such as synthesizers), also include provisions for specifying input arrival times (relative to the clock), and output requirements (set-up times of next stage) Spring 2011 EECS150 - Lec16-timing Page 16

The critical path Real Stuff: Timing Analysis Most paths have hundreds of picoseconds to spare Late-mode timing checks (thousands) 200 150 100 50 0 40 20 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 Timing slack (ps) From The circuit and physical design of the POWER4 microprocessor, IBM J Res and Dev, 46:1, Jan 2002, JD Warnock et al Spring 2011 EECS150 - Lec16-timing Page 17 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 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 clock skew, delay in distribution All synchronous circuits experience some clock skew: more of an issue for high-performance designs operating with very little extra time per clock cycle Spring 2011 EECS150 - Lec16-timing Page 18

CLK CLK Clock Skew (cont) CL CLK CLK clock skew, delay in distribution If clock period T = T CL +T setup +T clk Q, circuit will fail 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 in a non-uniform way 2 T T CL +T setup +T clk Q + worst case skew Most modern large high-performance chips (microprocessors) control end to end clock skew to a small fraction of the clock period Spring 2011 EECS150 - Lec16-timing Page 19 Clock Skew (cont) CLK CLK CL CLK 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! Spring 2011 EECS150 - Lec16-timing Page 20

Delay Real Stuff: Floorplanning Intel Scale 80200 Spring 2011 EECS150 - Lec16-timing Page 21 Grid Tuned sector trees Delay Sector buffers x Clock Tree Delays, IBM Power CPU Buffer level 2 Buffer level 1 Spring 2011 EECS150 - Lec16-timing Page 22 y

15 Delay Volts (V) 10 20 ps skew 05 00 0 500 1000 1500 2000 2500 Time (ps) Multiplefingered transmissio line x Clock Tree Delays, IBM Power Spring 2011 EECS150 - Lec16-timing Page 23 y