1 Clarinet: A noise analysis tool for deep submicron design Rafi Levy Gabi Bracha, David Blaauw, Aurobindo Dasgupta, Amir Grinshpon,

Slides:



Advertisements
Similar presentations
Topics Electrical properties of static combinational gates:
Advertisements

EE 201A Modeling and Optimization for VLSI LayoutJeff Wong and Dan Vasquez EE 201A Noise Modeling Jeff Wong and Dan Vasquez Electrical Engineering Department.
Discussion D2.5 Sections 2-9, 2-11
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.
Introduction to CMOS VLSI Design Lecture 19: Design for Skew David Harris Harvey Mudd College Spring 2004.
Noise Model for Multiple Segmented Coupled RC Interconnects Andrew B. Kahng, Sudhakar Muddu †, Niranjan A. Pol ‡ and Devendra Vidhani* UCSD CSE and ECE.
A Look at Chapter 4: Circuit Characterization and Performance Estimation Knowing the source of delays in CMOS gates and being able to estimate them efficiently.
Introduction to CMOS VLSI Design Clock Skew-tolerant circuits.
Clock Design Adopted from David Harris of Harvey Mudd College.
Design of Variable Input Delay Gates for Low Dynamic Power Circuits
LECTURE 2.
ADDITIONAL ANALYSIS TECHNIQUES LEARNING GOALS REVIEW LINEARITY The property has two equivalent definitions. We show and application of homogeneity APPLY.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
Lecture #26 Gate delays, MOS logic
Statistical Crosstalk Aggressor Alignment Aware Interconnect Delay Calculation Supported by NSF & MARCO GSRC Andrew B. Kahng, Bao Liu, Xu Xu UC San Diego.
04/11/02EECS 3121 Lecture 26: Interconnect Modeling, continued EECS 312 Reading: 8.2.2, (text) HW 8 is due now!
TH EDA NTHU-CS VLSI/CAD LAB 1 Re-synthesis for Reliability Design Shih-Chieh Chang Department of Computer Science National Tsing Hua University.
Lecture #24 Gates to circuits
04/09/02EECS 3121 Lecture 25: Interconnect Modeling EECS 312 Reading: 8.3 (text), 4.3.2, (2 nd edition)
Outline Noise Margins Transient Analysis Delay Estimation
NuCAD ELECTRICAL ENGINEERING AND COMPUTER SCIENCE McCormick Northwestern University Robert R. McCormick School of Engineering and Applied Science Nostra-XTalk.
Statistical Gate Delay Calculation with Crosstalk Alignment Consideration Andrew B. Kahng, Bao Liu, Xu Xu UC San Diego
Network Theorems SUPERPOSITION THEOREM THÉVENIN’S THEOREM
electronics fundamentals
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
1 A Method for Fast Delay/Area Estimation EE219b Semester Project Mike Sheets May 16, 2000.
Noise and Delay Uncertainty Studies for Coupled RC Interconnects Andrew B. Kahng, Sudhakar Muddu † and Devendra Vidhani ‡ UCLA Computer Science Department,
Superposition, Thevenin / Norton Equivalents, Maximum Power Transfer Circuits 1 Fall 2005 Harding University Jonathan White.
The CMOS Inverter Slides adapted from:
Chapter 3 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
MOS Inverter: Static Characteristics
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.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
Series-Parallel Circuits
electronics fundamentals
Power Reduction for FPGA using Multiple Vdd/Vth
Chapter 9 Network Theorems.
Washington State University
Chapter 07 Electronic Analysis of CMOS Logic Gates
Optimal digital circuit design Mohammad Sharifkhani.
EEE2243 Digital System Design Chapter 7: Advanced Design Considerations by Muhazam Mustapha, extracted from Intel Training Slides, April 2012.
Chapter 1 Combinational CMOS Logic Circuits Lecture # 4 Pass Transistors and Transmission Gates.
Copyright © 2013 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Chapter 5 Handy Circuit Analysis Techniques.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
4. Combinational Logic Networks Layout Design Methods 4. 2
CIRCUIT ANALYSIS METHOD. TOPIC Node-Voltage Method Mesh-current Method Source of embodiment principle Thevenin’s Circuit Norton’s Circuit Maximum Power.
VLSI Design Lecture 5: Logic Gates Mohammad Arjomand CE Department Sharif Univ. of Tech. Adapted with modifications from Wayne Wolf’s lecture notes.
Topics Combinational network delay.
Crosstalk Noise Optimization by Post-Layout Transistor Sizing Masanori Hashimoto Masao Takahashi Hidetoshi Onodera Dept. CCE, Kyoto University.
09/16/2010© 2010 NTUST Chapter 6 Yu-Chi Lai 賴祐吉. 09/16/2010© 2010 NTUST Most practical circuits have combinations of series and parallel components. Components.
Chapter 6 Series and Parallel Circuits 1 of 81 MECH of 81 Chapter 6 Series and Parallel Circuits MECH1100 Topics Identifying Series- Parallel Relationships.
Solid-State Devices & Circuits
Modern VLSI Design 3e: Chapter 3 Copyright  1998, 2002 Prentice Hall PTR Topics n Electrical properties of static combinational gates: –transfer characteristics;
Static Timing Analysis
Timing Behavior of Gates
Network Theorems Topics Covered in Chapter 8 8-1: Kirchhoff’s Current Law (KCL) 8-2: Kirchhoff’s Voltage Law (KVL) 8-3: Superposition Theorem 8-4: Thevenin’s.
COE 360 Principles of VLSI Design Delay. 2 Definitions.
Piero Belforte, HDT, July 2000: MERITA Methodology to Evaluate Radiation in Information Technology Application, methodologies and software solutions by Carla Giachino,
Worst Case Crosstalk Noise for Nonswitching Victims in High-Speed Buses Jun Chen and Lei He.
CS137: Electronic Design Automation
Jason Cong, David Zhigang Pan & Prasanna V. Srinivas
SIDDAGANGA INSTITUTE OF TECHNOLOGY
Timing Analysis 11/21/2018.
Electric Circuits Fundamentals
332:578 Deep Submicron VLSI Design Lecture 14 Design for Clock Skew
On the Improvement of Statistical Timing Analysis
Circuit Theorems.
Jason Cong, David Zhigang Pan & Prasanna V. Srinivas
CS137: Electronic Design Automation
Presentation transcript:

1 Clarinet: A noise analysis tool for deep submicron design Rafi Levy Gabi Bracha, David Blaauw, Aurobindo Dasgupta, Amir Grinshpon, Chanhee Oh, Boaz Orshav, Supamas Sirichotiyakul, Vladimir Zolotov Motorola, Inc., Austin,TX. Motorola Semiconductor Israel, Ltd.

2 2 Noise Problems u Noise analysis is important for high performance design: –Non-uniform scaling of interconnects –Noise sensitive circuit structures –Fast edge rates u Noise types: –Functional noise: victim is stable –Delay noise: victim is switching This presentation will focus on functional noise only.

3 3 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions u Results u Conclusions

4 4 Noise Analysis Challenges u Large run time –Analyze large number of nets. »For each net load and analyze large number of interconnect data. –Non-linear problem due to the non linearity of the driving gates. u Large number of false violations –Need to reduce pessimism by accounting for timing and logic correlation. We discuss a new analysis tool called ClariNet which addresses these challenges.

5 5 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions u Results u Conclusions

6 6 Clarinet Approach and Flow VnVn u Previous work: propagation approach [SHEP97] u Our approach: analyze each net independently: assume fixed amount of noise V n generated by the previous stage. 1. Apply noise filters to quickly eliminate victim nets with insignificant noise. 2. Generate linear models for aggressor and victim drivers. 3. Simulate each aggressor on the resulting linear circuit with PRIMA. 4. Determine worst set of aggressors - accounting for logic and timing constraints. 5. Combine noise from different aggressors + V n at the victim net sink using superposition, then propagate the noise through the receiver gate. Vdd-V n VnVn

7 7 Clarinet Approach and Flow v v u Previous work: propagation approach [SHEP97] u Our approach: analyze each net independently: assume fixed amount of noise V n generated by the previous stage. 1. Apply noise filters to quickly eliminate victim nets with insignificant noise. 2. Generate linear models for aggressor and victim drivers. 3. Simulate each aggressor on the resulting linear circuit with PRIMA. 4. Determine worst set of aggressors - accounting for logic and timing constraints. 5. Combine noise from different aggressors + V n at the victim net sink using superposition, then propagate the noise through the receiver gate.

8 8 Clarinet Approach and Flow v u Previous work: propagation approach [SHEP97] u Our approach: analyze each net independently: assume fixed amount of noise V n generated by the previous stage. 1. Apply noise filters to quickly eliminate victim nets with insignificant noise. 2. Generate linear models for aggressor and victim drivers. 3. Simulate each aggressor on the resulting linear circuit with PRIMA. 4. Determine worst set of aggressors - accounting for logic and timing constraints. 5. Combine noise from different aggressors + V n at the victim net sink using superposition, then propagate the noise through the receiver gate.

9 9 Clarinet Approach and Flow v u Previous work: propagation approach [SHEP97] u Our approach: analyze each net independently: assume fixed amount of noise V n generated by the previous stage. 1. Apply noise filters to quickly eliminate victim nets with insignificant noise. 2. Generate linear models for aggressor and victim drivers. 3. Simulate each aggressor on the resulting linear circuit with PRIMA. 4. Determine worst set of aggressors - accounting for logic and timing constraints. 5. Combine noise from different aggressors + V n at the victim net sink using superposition, then propagate the noise through the receiver gate.

10 Clarinet Approach and Flow v v u Previous work: propagation approach [SHEP97] u Our approach: analyze each net independently: assume fixed amount of noise V n generated by the previous stage. 1. Apply noise filters to quickly eliminate victim nets with insignificant noise. 2. Generate linear models for aggressor and victim drivers. 3. Simulate each aggressor on the resulting linear circuit with PRIMA. 4. Determine worst set of aggressors - accounting for logic and timing constraints. 5. Combine noise from different aggressors + V n at the victim net sink using superposition, then propagate the noise through the receiver gate.

11 Clarinet Approach and Flow VnVn Vdd-V n VnVn u Previous work: propagation approach [SHEP97] u Our approach: analyze each net independently: assume fixed amount of noise V n generated by the previous stage. 1. Apply noise filters to quickly eliminate victim nets with insignificant noise. 2. Generate linear models for aggressor and victim drivers. 3. Simulate each aggressor on the resulting linear circuit with PRIMA. 4. Determine worst set of aggressors - accounting for logic and timing constraints. 5. Combine noise from different aggressors + V n at the victim net sink using superposition, then propagate the noise through the receiver gate.

12 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions –Accurate Victim Driver Model –Handling of Multiple Drivers –Noise Filters –Aggressor Pruning –Timing and Logic Correlation u Results u Conclusions

13 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions –Accurate Victim Driver Model »Algorithm to detect worst case driver input vectors. »Algorithm to determine min/max driver voltage due to Vt drop. –Handling of Multiple Drivers –Noise Filters –Aggressor Pruning –Timing and Logic Correlation u Results u Conclusions

14 Victim driver model u Victim driver has a stable state –modeled by a simple resistance (holding resistance). u Worst noise occurs with maximum holding resistance –must find input vector of maximum resistance and compute its equivalent resistance. –can be solved by enumerating all input vectors or by doing path traversals. R hold a b b a c a out=high out ab = 01 ab = 00 R hold1 R hold2 right pull-up path ON both pull-up paths ON

15 Determine worst-case Input Vectors H x = a * b + a + c = a + c L x = a * c * (a + b) = a * c G x = H x * L x = a + c a 1 0 c BDD G x paths to leaf 1: {a=0}: p1,p3 ON After expansion: {a=0, b=1, c=1}: p2,p4 OFF {a=1, c=0}: p4 ON, p1,p3 OFF After expansion: {a=1, b=1, c=0}: p2 OFF Construct BDD Gx = H x * L x for x=1. For each satisfiable path to leaf node 1: Create a partial input vector and assign values to known gate nodes. Expand unknown gate nodes in partial vector if they have safe assignments. Safe assignment turns transistors OFF without turning ON remaining transistors. Enumerate remaining unknown gate nodes. x = 1 a b a c ab p1 p2 a p3 c p4

16 Holding Resistance Calculation For each gate’s input vector, determine holding resistance: 1. represent each ON transistor by its equivalent resistor (pre-calibrate holding R as a function of W) 2. disconnect all other transistors. 3. perform iterative series/parallel reduction and star-delta transformations. u We account for noise in holding R pre-calibration by setting V ds = V allowable where V allowable is the expected worst-case allowable noise

17 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions –Accurate Victim Driver Model »Algorithm to detect worst case driver input vectors. »Algorithm to determine min/max driver voltage due to Vt drop. –Handling of Multiple Drivers –Fast Noise Filters –Aggressor Pruning –Timing and Logic Correlation u Results u Conclusions

18 Victim voltage calculation u Special driver circuits do not drive the net to full Vdd or Gnd voltage due to Vt drop. –net has already DC noise equivalent to the voltage drop. –holding R is very large. u Detect min/max voltage of a victim driver –use max voltage as the initial victim voltage for low-overshoot and high-overshoot –use min voltage as the initial victim voltage for low-undershoot and high undershoot. b gnd a max = Vdd out = high vdd ad = 00 n1 OFF, P1 ON ad = 11 n1 ON, p1 OFF min = Vdd - Vt d n1 p1

19 Victim Voltage Calculation Construct G x = H x *L x for x = 1 2. Construct F x = p x *L x where p x is the pull-up function of the driver gate with all NMOS transistors disconnected. The function F x represents the input vectors that result in a high output state without any Vt drop. The function G x * F x determines if voltage drop is possible. u Determine voltage drop according the following table.

20 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions –Victim Driver Model –Multiple Drivers –Noise Filters –Aggressors Pruning –Timing and Logic Correlation u Results u Conclusions

21 Multiple Aggressor Drivers u When more than 1 driver is connected to an aggressor: –One or more driver can be simultaneously active –Assuming all to be active is overly conservative u Our approach: –Determine whether each driver is tristate and non-tristate. –Non-tristate drivers: all are active. –Tristate drivers: only the strongest driver is active. –Use superposition for all active drivers. a d e b c worst

22 Multiple Victim Drivers u When more than 1 driver is connected to a victim: –One or more can be simultaneously holding victim stable. –Consider only the weakest driver is too pessimistic. u Our approach: –Non-tristate drivers: all are active. –Tristate drivers: all are inactive. –If all drivers are tristate: simulate. b c c b a d

23 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions –Victim Driver Model –Multiple Drivers –Noise Filters –Aggressors Pruning –Timing and Logic Correlation u Results u Conclusions

24 Noise Filters u Why we need efficient noise estimation techniques: –Cost of loading and simulating interconnect and cross-talking elements is extremely high. –Cost of generating accurate driver models is expensive. –Large number of nets in circuit with a small fraction suffer from noise. u Previous work: Analytical filters proposed by : –Requires an expensive loading [DEV97], [KUHL99] –Too conservative for fast aggressors [DEV97] u We propose a simple structural filtering –Apply three successive filters until either the victim net passes or fails (compared to V threshold ) all the filters and is simulated in full detail. –Each successive filter is less conservative but requires longer run-time.

25 Structural Filters - 1 u Use default aggressor and victim driver models u Applied on entire net - use lumped values u Can be solved analytically R thev = R default / N v R hold R net C couple C ground N = number of aggressors C couple = sum of coupling caps for victim C ground = sum of grounded caps for victim R net = sum of resistances of victim R hold = default victim driver holding R R default = default aggressor driver thevenin R t default = default aggressor slope t default

26 Structural Filters - 2 u Use accurate victim driver model, default aggressor model u Victim topology is loaded in detail u Applied on each victim source/sink pair R side R thev = R default / N v R hold R path C couple C ground_path C ground_side N = number of aggressors C couple = sum of coupling caps for victim R default = default aggressor driver thevenin R t default = default aggressor slope C ground_path = sum of grounded caps for source-sink path R path = resistance of source-sink path C ground_side / R side = side branch caps / Rs R hold = victim driver holding R t default

27 Structural Filters - 3 u Use accurate aggressor and victim driver models u Both the victim and aggressor topologies are loaded R side R thev = || R thevenin v R hold R path C couple C ground_path C ground_side R side_agr C ground_agr C couple = sum of coupling caps for victim C ground_path = sum of grounded caps for souce-sink path R path = resistance of source-sink path C ground_side / R side = side branch caps / Rs R hold = victim driver holding R R side_agr = aggressor side branch Rs C ground_agr = aggressor grounded caps R thevenin = aggressor driver thevenin R t thevenin = fastest aggressor driver slope t thevenin

28 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions –Victim Driver Model –Multiple Drivers –Noise Filters –Aggressors Pruning –Timing and Logic Correlation u Results u Conclusions

29 Aggressor Pruning u Number of aggressors in a noise cluster can be large. –Can make simulation infeasible. –Large number aggressors contribute a very small amount of noise. u ClariNet pruning options: –Select N worst highly coupled aggressors. –Discard all aggressors that have a ratio between coupling cap to victim grounded cap less than user specified threshold. –Use approximate noise estimation (Filter 1) of small aggressors, and discard aggressors until total noise exceeds user specified noise threshold. This guaranteed that all non-contributed aggressors are removed and the noise error is below a threshold. u We ground discarded coupling caps.

30 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions –Victim Driver Model –Multiple Drivers –Noise Filters –Aggressors Pruning –Timing and Logic Correlation »Consider static and sensitivity windows for victim nets. »New algorithm to enumerate the number of aggressor subsets u Results u Conclusions

31 Timing Windows u Timing correlation constraints (high-undershoot) –aggressors switching (falling) –Victim is stable (high) –Noise can be propagated into a latch u Traditionally activity windows for aggressors are used. –Activity window: window in which the net can switch (fall / rise) u We propose to consider static and sensitivity windows for victim. –Static window (high / low) »Used for clocks. –Sensitivity window for victim sink (low-overshoot, high-undershoot) »Sensitivity window: window in which the noise from that sink can propagate into a latch.

32 Logic Correlation u Logic correlation constraints (high-undershoot) –switching of aggressors in the same direction (falling) –Victim in a stable state (high) u User specified logic correlation in ClariNet: –inversion, same, imply –one-hot, one-cold u Logic correlation under zero delay is not conservative –using logic functions cannot detect glitch –Specify pair wise logic relations across single gates.

33 Logic Correlation & Timing Windows Algorithm u Examine High-undershoot noise u Construct BDD by ANDing the logic constraints. u Reduce BDD by asserting the victim logic state. (High) u For each pair of satisfiable paths p1 != p2: –p1 and p2 correspond to logic constraints before and after the aggressors switch. –Identify a subset S of MUST_SWITCH aggressors - aggressors with opposite polarity in p1 and p2 that match the intended transition. (Falling). –Add MAY_SWITCH aggressors to S - aggressors that do not appear in p1 and p2. –Intersect timing windows of aggressors in S to find an intersection with max noise. BDD = (a -> b) * (bc + bc) = bc + abc c b c b c a 0 a b c victim p1 = bcp2 = bc

34 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions u Results u Conclusions

35 Results - Circuit Characteristic and Analysis 1

36 Outline u Noise Challenges u Clarinet Approach and Flow u Clarinet Contributions u Results u Conclusions

37 Conclusions u We have presented a new functional noise analysis tool. u We have presented new algorithm for critical issues in noise analysis: –Efficient and accurate modeling of the victim driver gate –Noise filters for speeding up run time –Timing and Logic Correlation for reducing number of false noise violations u We demonstrated the tool on a number of industrial designs. u The use of noise filters + aggressor pruning allow us to analyze 400 thousands nets under 6 hours