DELAYS IN ASIC DESIGN

Similar documents
STATIC TIMING ANALYSIS

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

CARNEGIE MELLON UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING DIGITAL INTEGRATED CIRCUITS FALL 2002

Very Large Scale Integration (VLSI)

CMPEN 411 VLSI Digital Circuits Spring 2012

Area-Time Optimal Adder with Relative Placement Generator

EE115C Digital Electronic Circuits Homework #5

PARADE: PARAmetric Delay Evaluation Under Process Variation *

Interconnect (2) Buffering Techniques. Logical Effort

CSE241 VLSI Digital Circuits Winter Lecture 07: Timing II

5.0 CMOS Inverter. W.Kucewicz VLSICirciuit Design 1

Interconnect (2) Buffering Techniques.Transmission Lines. Lecture Fall 2003

Homework #2 10/6/2016. C int = C g, where 1 t p = t p0 (1 + C ext / C g ) = t p0 (1 + f/ ) f = C ext /C g is the effective fanout

Answers. Name: Grade: Q1 Q2 Q3 Q4 Total mean: 83, stdev: 14. ESE370 Fall 2017

Timing Analysis in Presence of Supply Voltage and Temperature Variations

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

VLSI GATE LEVEL DESIGN UNIT - III P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

! Crosstalk. ! Repeaters in Wiring. ! Transmission Lines. " Where transmission lines arise? " Lossless Transmission Line.

DC & Transient Responses

Logic Synthesis and Verification

ECE414/514 Electronics Packaging Spring 2012 Lecture 6 Electrical D: Transmission lines (Crosstalk) Lecture topics

The Wire EE141. Microelettronica

Lecture 7 Circuit Delay, Area and Power

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

ECE 342 Electronic Circuits. Lecture 35 CMOS Delay Model

Dynamic Repeater with Booster Enhancement for Fast Switching Speed and Propagation in Long Interconnect

Problems in VLSI design

EE 330 Lecture 6. Improved Switch-Level Model Propagation Delay Stick Diagrams Technology Files - Design Rules

DC and Transient. Courtesy of Dr. Daehyun Dr. Dr. Shmuel and Dr.

Making Fast Buffer Insertion Even Faster via Approximation Techniques

The Wire. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. July 30, 2002

Name: Grade: Q1 Q2 Q3 Q4 Q5 Total. ESE370 Fall 2015

Issues on Timing and Clocking

Interconnects. Wire Resistance Wire Capacitance Wire RC Delay Crosstalk Wire Engineering Repeaters. ECE 261 James Morizio 1

Lecture 23. Dealing with Interconnect. Impact of Interconnect Parasitics

CMOS Inverter. Performance Scaling

Chapter 5 CMOS Logic Gate Design

PARADE: PARAmetric Delay Evaluation Under Process Variation * (Revised Version)

Topics to be Covered. capacitance inductance transmission lines

Spiral 2 7. Capacitance, Delay and Sizing. Mark Redekopp

Lecture 23. CMOS Logic Gates and Digital VLSI I

Chapter 9. Estimating circuit speed. 9.1 Counting gate delays

Delay Modelling Improvement for Low Voltage Applications

Integrated Circuits & Systems

CHAPTER 15 CMOS DIGITAL LOGIC CIRCUITS

Interconnect s Role in Deep Submicron. Second class to first class

EEE 421 VLSI Circuits

COMP 103. Lecture 10. Inverter Dynamics: The Quest for Performance. Section 5.4.2, What is this lecture+ about? PERFORMANCE

Digital Microelectronic Circuits ( )

PC Card (PCMCIA) Interface Switch

! Dynamic Characteristics. " Delay

Lecture 12 CMOS Delay & Transient Response

Topic 4. The CMOS Inverter

Digital Integrated Circuits A Design Perspective

ENEE 359a Digital VLSI Design

Driver Waveform Computation for Timing Analysis with Multiple Voltage Threshold Driver Models

9/18/2008 GMU, ECE 680 Physical VLSI Design

Lecture 4: DC & Transient Response

CMOS Digital Integrated Circuits Lec 10 Combinational CMOS Logic Circuits

Designing Information Devices and Systems II Fall 2017 Miki Lustig and Michel Maharbiz Homework 1. This homework is due September 5, 2017, at 11:59AM.

Optimum Prefix Adders in a Comprehensive Area, Timing and Power Design Space

Name: Answers. Mean: 83, Standard Deviation: 12 Q1 Q2 Q3 Q4 Q5 Q6 Total. ESE370 Fall 2015

MOSIS REPORT. Spring MOSIS Report 1. MOSIS Report 2. MOSIS Report 3

Lecture 7: Logic design. Combinational logic circuits

Integrated Circuits & Systems

UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences

ECE321 Electronics I

Lecture 5. MOS Inverter: Switching Characteristics and Interconnection Effects

Lecture 2: CMOS technology. Energy-aware computing

Dynamic Power Estimation for Deep Submicron Circuits with Process Variation

Sample-and-Holds David Johns and Ken Martin University of Toronto

Buffer Delay Change in the Presence of Power and Ground Noise

UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences

THE INVERTER. Inverter

A New Characterization Method for Delay and Power Dissipation of Standard Library Cells

TAU 2015 Contest Incremental Timing Analysis and Incremental Common Path Pessimism Removal (CPPR) Contest Education. v1.9 January 19 th, 2015

ESE570 Spring University of Pennsylvania Department of Electrical and System Engineering Digital Integrated Cicruits AND VLSI Fundamentals

ECE251 VLSI System Design Spring Homework 1. Jinfeng Liu

CSE140L: Components and Design Techniques for Digital Systems Lab. Power Consumption in Digital Circuits. Pietro Mercati

Physical Extension of the Logical Effort Model

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

5. CMOS Gate Characteristics CS755

Variability Aware Statistical Timing Modelling Using SPICE Simulations

VLSI Design, Fall Logical Effort. Jacob Abraham

Combinational Logic Design

NTE4501 Integrated Circuit CMOS, Dual 4 Input NAND Gate, 2 Input NOR/OR Gate, 8 Input AND/NAND Gate

TAU 2014 Contest Pessimism Removal of Timing Analysis v1.6 December 11 th,

Logical Effort. Sizing Transistors for Speed. Estimating Delays

EE141-Spring 2008 Digital Integrated Circuits EE141. Announcements EECS141 EE141. Lecture 24: Wires

Interconnects. Introduction

EECS 427 Lecture 8: Adders Readings: EECS 427 F09 Lecture 8 1. Reminders. HW3 project initial proposal: due Wednesday 10/7

Lecture 1: Gate Delay Models

Lecture 5. Logical Effort Using LE on a Decoder

DATA SHEET. HEF4543B MSI BCD to 7-segment latch/decoder/driver. For a complete data sheet, please also download: INTEGRATED CIRCUITS

and V DS V GS V T (the saturation region) I DS = k 2 (V GS V T )2 (1+ V DS )

Clock signal in digital circuit is responsible for synchronizing the transfer to the data between processing elements.

Lecture 8: Combinational Circuit Design


Advanced Current Mirrors and Opamps

Logic Effort Revisited

Transcription:

DELAYS IN ASIC DESIGN We encounter several types of delays in ASIC design. They are as follows: Gate delay or Intrinsic delay Net delay or Interconnect delay or Wire delay or Extrinsic delay or Flight time Transition or Slew Propagation delay Contamination delay Wire delays or extrinsic delays are calculated using output drive strength, input capacitance and wire load models. Other delays are intrinsic properties of each and every gate. Delays are interdependent on different electrical properties. [Nekoogar]: Input capacitance of the logic gate is a function of output state, output loads and input slew rate. Internal timing arcs and output slew rate is a function of switching input(s). Capacitance of the wire is dependent on frequency. Internal timing arcs are a function of input slew rates. Output slew rate is a function of input slew rate on each input. Wires exhibit RLC characteristics instead of lumped RC. Gate Delay Transistors within a gate take a finite time to switch. This means that a change on the input of a gate takes a finite time to cause a change on the output. [Magma] Gate delay =function of (input transition (slew) time, Cnet+Cpin). or Gate delay =function of (input transition (slew) time, Cload). where Cload=Cnet+Cpin Cnet-->Net capacitance Cpin-->pin capacitance of the driven cell

Cell delay is also same as Gate delay. How gate delay is calculated? Cell or gate delay is calculated using Non-Linear Delay Models (NLDM). NLDM is highly accurate as it is derived from SPICE characterizations. The delay is a function of the input transition time (i.e. slew) of the cell, the wire capacitance and the pin capacitance of the driven cells. A slow input transition time will slow the rate at which the cell s transistors can change state logic 1 to logic 0 (or logic 0 to logic 1), as well as a large output load Cload (Cnet + Cpin), thereby increasing the delay of the logic gate. There is another NLDM table in the library to calculate output transition. Output transition of a cell becomes the input transition of the next cell down the chain. Table models are usually two-dimensional to allow lookups based on the input slew and the output load (Cload). A sample table is given below. timing() { related_pin : "CKN"; timing_type : falling_edge; timing_sense : non_unate;

cell_rise(delay_template_7x7) { index_1 ("0.012, 0.032, 0.074, 0.154, 0.318, 0.644, 1.3"); index_2 ("0.001278, 0.0046008, 0.0112464, 0.0245376, 0.05112, 0.10454, 0.212148"); values ( \ "0.225894, 0.249015, 0.285537, 0.352680, 0.484244, 0.748180, 1.279570", \ "0.231295, 0.254415, 0.290938, 0.358081, 0.489646, 0.753585, 1.284980", \ "0.243754, 0.266878, 0.303398, 0.370542, 0.502105, 0.766044, 1.297440", \ "0.267240, 0.290389, 0.326908, 0.394052, 0.525615, 0.789561, 1.320950", \ "0.307080, 0.330200, 0.366721, 0.433861, 0.565425, 0.829373, 1.360760", \ "0.380552, 0.403875, 0.440426, 0.507569, 0.639136, 0.903084, 1.434500", \ "0.497588, 0.521769, 0.558548, 0.625744, 0.757301, 1.021260, 1.552680"); } rise_transition(delay_template_7x7) { index_1 ("0.012, 0.032, 0.074, 0.154, 0.318, 0.644, 1.3"); index_2 ("0.001278, 0.0046008, 0.0112464, 0.0245376, 0.05112, 0.10454, 0.212148"); values ( \ "0.040574, 0.068619, 0.125391, 0.246672, 0.497688, 1.005982, 2.030120", \ "0.040570, 0.068618, 0.125390, 0.246672, 0.497688, 1.005940, 2.030240", \ "0.040565, 0.068616, 0.125389, 0.246650, 0.497770, 1.006180, 2.030120", \ "0.040532, 0.068612, 0.125387, 0.246670, 0.497710, 1.006164, 2.030100", \ "0.040578, 0.068621, 0.125392, 0.246636, 0.497688, 1.006182, 2.030040", \ "0.041763, 0.069211, 0.125662, 0.246758, 0.497726, 1.005930, 2.030000", \ "0.045813, 0.071321, 0.126671, 0.247154, 0.497846, 1.005962, 2.030180"); }

index_1 --> input transition values index_2--> output load capacitance values values--> delay values Situation 1: Input transition and output load values match with table index values If both input transition and output load values match with table index values then corresponding delay value is directly picked up from the delay values table as highlighted by yellow shaded data. Situation 2: Output load values doesn't match with table index values When the actual load capacitance values does not fall directly on or at one of the load-axis index points, the delay is determined by interpolation from the closest points. Note that to carry out interpolation input transition point should match with the any one of the table index values. Determine the equation for the line segment connecting the two nearest points in the table. To do this first we need to find the slope value. Slope m = (y2-y1)/(x2-x1) where (y2-y1) is delay segment (generally in ns) on y axis and (x2-x1) is load segment (generally in pf) on x-axis. Solve for the delay at the load point of interest. The linear equation is:

y = mx+c where y-->delay (ns) m-->slope x-->load capacitance (pf) i.e. delay=slope*load point of interest (constant value is zero) Load point of interest means load capacitance value for which delay has to be calculated. Situation 3: Both input transition and output load values doesn't match with table index values If both input transition and load capacitance values do not match exactly with the look up table index values then bilinear interpolation is used. Multiple linear interpolations (~3) are performed on multiple closest table data points (~4) as shown in highlighted violet color in the look up table. Situation 4: Output load values doesn't match with table index values and is outside the table boundary When the load point is outside of the boundary of the index, the delay is extrapolated to the closest known points. Lookup value too far out of range of the given table value could lead to inaccuracy. [Cadence]

Intrinsic delay Intrinsic delay is the delay internal to the gate. This is from input pin of the cell to output pin of the cell. It is defined as the delay between an input and output pair of a cell, when a near zero slew is applied to the input pin and the output does not see any load condition. It is caused by the internal capacitance associated with its transistor. This delay is largely dependent on the size of the transistors forming the gate because increasing size of transistors increase internal capacitors.