SlideShare une entreprise Scribd logo
1  sur  47
Library Characterization  Its Impact on Semiconductor Industry & the flow Satish Kumar Grandhi (https://sites.google.com/site/satishkumargrandhi2/)
Let’s start off on a Funny Note Why Choose Library Characterization as a career ?? Very little manual effort, need only little extra intelligence Effort – 30% , Enjoyment – 70%  ; No need to work over weekends  Only one issue : Convergence (Kills u big time) Double Edged Sword; Little Chance of firing . But, Very few players in this business, no great chances of jumping around . Most Important ; It keeps your options wide open Physical Design, STA EDA Tool Development Circuit Design
Acknowledgements Heart Felt Thanks to  Masamb Electronics, Anupam Kumar Sinha in specific Naveen Kumar Kotha (LSI Bangalore), Rachit I. Kushalappa (TI, Bangalore) & Naresh ANNE (AMD USA) Wiki, EDABoard & LTSPICE yahoo group NANGATE for providing open source 45nm STD cell library package All prof’s with US universities (You guys don’t hide your work in the internal repositories, hats off to you) Collegues @ NXP, Cypress & ST MicroElectronics Check out my weblink on Library Characterization for latest updated version of these slides & for more info Speaker guarantees no originality in this work ; It is a mix of material accumulated from various sources We are as dwarfs sitting on the shoulders of giants  -- Sir Issac Newton
Contents Necessity & the Impact Fundamental Terminology Glancing Through .LIB  Characterization Methodology  Case Studies : Inverter & D-Flop Advanced Topics References
Two Great Laws Moore’s LawOn April 19, 1965 Moore predicted the most important law ever proposed in Semiconductors.  Amdahl's law states that the performance improvement to be gained from using some faster mode of execution is limited by the fraction of the time the faster mode can be used Missing 3rd law, the NLDM law  How are these related ??
How to Implement them ?
Two Generic Flows Reference : Allen Holberg, Gatech  and  Laker, Upenn Class Room Lectures
INTEL Processor’s Growth * All the predictions are based on wiki…could be approximate
Characterization Terminology
Input Slew & Output Load Slew rate : Represents the maximum rate of change of signal Output Load : Total amount of capacitance at the output node
Timing - Combinational Transition Delay                            Time a system needs to switch between two different stable states, when responding to a stable input signal Propagation Delays                      Time it takes for the output signal to switch after the input signal has been applied.
Timing – Sequential 1 Setup & Hold                                                                                      Minimum time the data signal has to be present at the input pin of a memory cell before/after the write signal arrives. General Methodology employed : Binary Chop
Timing - Sequential 2 Recovery / Removal                                                                            Minimum time delay that has to maintained between an asynchronous clear/set signal and before/after the clock of the cell is triggered. Method Used : Binary Chop
Timing – Sequential 3 Minimum Pulse WidthMinimum width of control signal in order for the cell to detect it. If the clock signal active period is smaller than this minimum time, you cannot be sure that the cell will have stored the input’s value properly.
Timing Unateness Positive Unate Negative Unate Non Unate
Power – Short circuit If a path exists from power supply to ground, it results in continuous flow of current and results in static power dissipation CMOS Technology has neglible static power consumption (biggest advantage and reason as to why CMOS is so very popular).
Power - Dynamic Power dissipated during the charging and discharging of the output Load capacitance. Pdyn =  CL * Vdd2 * f
Power - Leakage The power consumed by the sub threshold currents and by reverse biased diodes in a CMOS transistor Major Sources : Sub threshold condition Gate Leakage current * Check out Reference6
Wire Load Models /* Wire load table */   wire_load("ABC") {     capacitance : 1.774000e-04;     resistance : 3.571429e-03;     area  : 7.559700e-02;     slope : 5.000000;     fanout_length( 1, 1.3207 );     fanout_length( 2, 2.9813 );     fanout_length( 3, 5.1135 );     fanout_length( 4, 7.6639 );     fanout_length( 5, 10.0334 );     fanout_length( 6, 12.2296 );     fanout_length( 8, 19.3185 );   }   No info on interconnect parasitic before Physical Design Attempts to predict the capacitance and resistance of nets in the absence of placement and routing information Excellent Paper : Steve Golson, "Resistance is Futile! Building Better Wireload Models"  (Link)
Library Characterization Flow
Methodology * Prototype Copied from Liberty NCX manual
Sensitization Set of logic conditions leading to transition; This logic condition setup process is called sensitization. In other words, it generates the stimulus at the cell input pins necessary to produce a simulation measurement of the desired characteristic, such as delay or slew. No simulations performed,  analytically derives the functionality of the cell from Boolean expressions, truth tables, state tables, and flip-flop latch groups defined in the input library or template files.
Load Sharing Facility (LSF) Goal : Give many users processes  "fair share" of resources (CPU, memory , ….) Commands :  bjobs, bqueues, bhist, bkill, bswitch, bpause, bresume
How Simulator Works ?? Input Setup Sanity Check Generate .LIB (final masala) Arc List for each Cell Fetch the Results Develop Sensitization Vector’s Launch Them on LSF Create Spice Deck for each case
Capacitance Characterization Buffer comparison methodcalculates by comparing the output slope of three identical reference buffers. Charge calculation method monitors the total current (charge) flowing through each input pin and integrates it over a period of time
Power Characterization Calculates the current consumed and convert into power Find paths from input pins to outputs, look for every valid pin combination of the cell and simulate it.  Plus, some input combinations don't change any output. But, results in power consumption For example: Clocks, sets, resets etc. that do not change the output because it already had the proper state Input changes without a clock change Also, Leakage power
Case Study: Inverter & D-Flop
.Measure (Spice Command) Prints the results of specific user defined analyses With this command you can measure rise and fall times, length of a pulse, delays, voltages, etc. ELDO - .extract Spectre – {export}???
CS 1 : Inverter ARCS :  IN  OUT Measurements : Rise, Fall Sensitization Vectors IN 	: 01, 10 OUT 	: 10, 01
Cap Measurements Power Measurements
Timing Calculations
Technology Impact Simulated a 3 Input NAND gate (all inputs set to '1') using cadence GPDK180 & NANGATE's 45nm models With shrinking gate length, the leakage current increases Ref : ITRS Roadmap 2005
CS 2 : D Flip Flop Consider a Asynchronous flop with set & Reset pins. Possible arcs to be characterized : Clk -> Q 		(delay) D -> Clk  		(setup & Hold) Set/ Reset -> Clk	(Recovery & Removal) Power & cap characterization (Each instance is a 3 input nand gate)
Various Arcs in Scan Flop ( Snapshot from Reference 3 )
Setup Analysis ** For Setup Time Analysis VIN2 D 0 pwl 0 0 4.99995n 0 5.99995n 1.8 11n 1.8  12n 0  24n 0  24.9995n 0 25.9995n 1.8 .MEASURE TRAN setup_time **** Constrained pin is falling + trig V(D) val = 0.9 rise= 1 **** Related pin is rising + targ V(CLK) val = 0.9  rise = 2 Setup time=1.955e-008 FROM 5.49995e-009 TO 2.505e-008
From STA Point of View --Very primitive, will improve in the days to come
CAP on a net Total o/p node cap =                                                                                   Sum of { all input caps of driven cells + wire Capacitance + O/p Node Capacitance }
Delay Calculation UINV0 (NET0, I2) UAND1 (O1, I1, NET0) UNOR2(O2, O1, NET0)
Advanced Topics
State Dependent Delays Timing arcs depend on the state of pins other than Input & Output Multiple timing models are used to describe ‘a’ arc Consider a 2 I/P XOR Gate timing () {		 related_pin	   : "A";		 when	                   : "B";	 sdf_cond	   : "(B == 1'b1)"; timing_sense	   : negative_unate; cell_fall(Timing_data_X1) { values ("0.012959,0.015005,…….. …………………………………………… timing () {	 related_pin	   : "A";		 when	  	   : "!B";		 sdf_cond	   : "(B == 1'b0)"; timing_sense	   : positive_unate; cell_fall(Timing_data_X1) {	 values ("0.036818,0.038956, …….. ……………………………………………
Negative Delays A large input slope and a cell that reacts either very quickly
Load Cap Characterization When output slew transition = Max_Slew(max_tout), the output loading = Max_load
Tri State Delay Measurement Cannot be measured using conventional voltage levels Measured by looking at the current through the output pin. Test Equipment consists of  Current detector on the output of the tristate cell  Pull-up and pull-down resistors that can be switched on/off independently
Measuring  Normal-tri state delays Switch  on both pull-up and pull-down resistors; produce a short current flows at the output pin.  When the cell enters tristate mode the output pin will be isolated from the rest of the cell, the path from supply to output cut, and current through the output pin will stop. Current monitoring device detects when the value goes below a certain threshold (pre-defined) which is the required delay.
Tri State to High state delays Activate only the pull-down resistor Switch off the pull-down resistor  Push the Circuit into Tri State Mode Enable the cell so that output  rise ‘s
References Sung Mo Kang and Yusuf Leblebici, "CMOS Digital Integrated Circuits-Analysis and Design", Tata McGraw Hill, Third Edition, New Delhi, 2003 J. Bhasker & RakeshChadha, “Static Timing Analysis for Nanometer Designs: A Practical Approach” Jan M. Rabaey, AnanthaChandrakasan, and BorivojeNikolic, “Digital Integrated Circuits: A Design Perspective” RACHITH I. KUSHALAPPA, "AutoLibGen : An open source tool for automation of Standard Cell Library characterization for VDSM designs", M.E Thesis, NITK Surathkal, 2008 NARESH ANNE, "Design and Characterization of a standard cell library for the freePDK 45 process ", M.S Thesis, Oklahoma State University, 2010 (link)
References…. HSpice Simulation and Analysis Users Guide, Version Y-2006.09, Sep 2006 Synopsys NCX User guide, Version B-2008.12, December 2008 An Excellent Lecture on Leakage power & possible reduction Techniques by R. Saleh, Uni of British Columbia (Link) Nangate 45nm Open Cell Library (link) Excellent Tutorial on HSPICE (Link) LTSPICE Yahoo Group (Link) Last, but not the least, extensive knowledge I gained by interacting with Library char teams @ NXP, Cypress & ST microelectronics which can’t be put in words

Contenu connexe

Tendances

Vlsi best notes google docs
Vlsi best notes   google docsVlsi best notes   google docs
Vlsi best notes google docsRajesh M
 
Power Reduction Techniques
Power Reduction TechniquesPower Reduction Techniques
Power Reduction TechniquesRajesh M
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsM Mei
 
Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)shaik sharief
 
Physical design-complete
Physical design-completePhysical design-complete
Physical design-completeMurali Rai
 
Static Timing Analysis
Static Timing AnalysisStatic Timing Analysis
Static Timing Analysisshobhan pujari
 
Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Olivier Coudert
 
Understanding cts log_messages
Understanding cts log_messagesUnderstanding cts log_messages
Understanding cts log_messagesMujahid Mohammed
 
Physical Verification Design.pdf
Physical Verification Design.pdfPhysical Verification Design.pdf
Physical Verification Design.pdfAhmed Abdelazeem
 
12 static timing_analysis_3_clocked_design
12 static timing_analysis_3_clocked_design12 static timing_analysis_3_clocked_design
12 static timing_analysis_3_clocked_designUsha Mehta
 
Vlsi design main ppt 1
Vlsi design main ppt 1Vlsi design main ppt 1
Vlsi design main ppt 1Semi Design
 
Static_Timing_Analysis_in_detail.pdf
Static_Timing_Analysis_in_detail.pdfStatic_Timing_Analysis_in_detail.pdf
Static_Timing_Analysis_in_detail.pdfUsha Mehta
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehtaUsha Mehta
 
Low power in vlsi with upf basics part 2
Low power in vlsi with upf basics part 2Low power in vlsi with upf basics part 2
Low power in vlsi with upf basics part 2SUNODH GARLAPATI
 
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemSynopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemMostafa Khamis
 
Physical Design Flow Challenges at 28nm on Multi-million Gate Blocks
Physical Design Flow Challenges at 28nm on Multi-million Gate BlocksPhysical Design Flow Challenges at 28nm on Multi-million Gate Blocks
Physical Design Flow Challenges at 28nm on Multi-million Gate BlockseInfochips (An Arrow Company)
 

Tendances (20)

Vlsi best notes google docs
Vlsi best notes   google docsVlsi best notes   google docs
Vlsi best notes google docs
 
Power Reduction Techniques
Power Reduction TechniquesPower Reduction Techniques
Power Reduction Techniques
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew Groups
 
Physical design
Physical design Physical design
Physical design
 
Routing.pdf
Routing.pdfRouting.pdf
Routing.pdf
 
Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)
 
Physical design-complete
Physical design-completePhysical design-complete
Physical design-complete
 
Static Timing Analysis
Static Timing AnalysisStatic Timing Analysis
Static Timing Analysis
 
Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows Timing and Design Closure in Physical Design Flows
Timing and Design Closure in Physical Design Flows
 
Understanding cts log_messages
Understanding cts log_messagesUnderstanding cts log_messages
Understanding cts log_messages
 
Powerplanning
PowerplanningPowerplanning
Powerplanning
 
Physical Verification Design.pdf
Physical Verification Design.pdfPhysical Verification Design.pdf
Physical Verification Design.pdf
 
12 static timing_analysis_3_clocked_design
12 static timing_analysis_3_clocked_design12 static timing_analysis_3_clocked_design
12 static timing_analysis_3_clocked_design
 
Vlsi design main ppt 1
Vlsi design main ppt 1Vlsi design main ppt 1
Vlsi design main ppt 1
 
Asic pd
Asic pdAsic pd
Asic pd
 
Static_Timing_Analysis_in_detail.pdf
Static_Timing_Analysis_in_detail.pdfStatic_Timing_Analysis_in_detail.pdf
Static_Timing_Analysis_in_detail.pdf
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehta
 
Low power in vlsi with upf basics part 2
Low power in vlsi with upf basics part 2Low power in vlsi with upf basics part 2
Low power in vlsi with upf basics part 2
 
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemSynopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
 
Physical Design Flow Challenges at 28nm on Multi-million Gate Blocks
Physical Design Flow Challenges at 28nm on Multi-million Gate BlocksPhysical Design Flow Challenges at 28nm on Multi-million Gate Blocks
Physical Design Flow Challenges at 28nm on Multi-million Gate Blocks
 

En vedette

Standard cells library design
Standard cells library designStandard cells library design
Standard cells library designBharat Biyani
 
Digital standard cell library Design flow
Digital standard cell library Design flowDigital standard cell library Design flow
Digital standard cell library Design flowijsrd.com
 
Lecture20 asic back_end_design
Lecture20 asic back_end_designLecture20 asic back_end_design
Lecture20 asic back_end_designHung Nguyen
 
A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...
A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...
A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...Arun Joseph
 
14827 shift registers
14827 shift registers14827 shift registers
14827 shift registersSandeep Kumar
 
Déposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HALDéposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HALOAccsd
 
Divide by N clock
Divide by N clockDivide by N clock
Divide by N clockMantra VLSI
 
Synchronous counters
Synchronous countersSynchronous counters
Synchronous countersLee Diaz
 
Chapter 4 flip flop for students
Chapter 4 flip flop for studentsChapter 4 flip flop for students
Chapter 4 flip flop for studentsCT Sabariah Salihin
 

En vedette (15)

STANDARD CELL LIBRARY DESIGN
STANDARD CELL LIBRARY DESIGNSTANDARD CELL LIBRARY DESIGN
STANDARD CELL LIBRARY DESIGN
 
Standard cells library design
Standard cells library designStandard cells library design
Standard cells library design
 
Digital standard cell library Design flow
Digital standard cell library Design flowDigital standard cell library Design flow
Digital standard cell library Design flow
 
Lecture20 asic back_end_design
Lecture20 asic back_end_designLecture20 asic back_end_design
Lecture20 asic back_end_design
 
A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...
A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...
A Hybrid Approach to Standard Cell Power Characterization based on PVT Indepe...
 
Asic &fpga
Asic &fpgaAsic &fpga
Asic &fpga
 
Asic
AsicAsic
Asic
 
14827 shift registers
14827 shift registers14827 shift registers
14827 shift registers
 
Shift registers
Shift registersShift registers
Shift registers
 
Déposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HALDéposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HAL
 
Divide by N clock
Divide by N clockDivide by N clock
Divide by N clock
 
Synchronous counters
Synchronous countersSynchronous counters
Synchronous counters
 
Counters
CountersCounters
Counters
 
Counters
CountersCounters
Counters
 
Chapter 4 flip flop for students
Chapter 4 flip flop for studentsChapter 4 flip flop for students
Chapter 4 flip flop for students
 

Similaire à Library Characterization Flow

Low power electronic design
Low power electronic designLow power electronic design
Low power electronic designMahesh Dananjaya
 
Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...Prashantkumar R
 
SolAero Tech Intern_Project Overview
SolAero Tech Intern_Project OverviewSolAero Tech Intern_Project Overview
SolAero Tech Intern_Project OverviewEddie Benitez-Jones
 
Project_Kaveh & Mohammad
Project_Kaveh & MohammadProject_Kaveh & Mohammad
Project_Kaveh & MohammadKaveh Dehno
 
Si Intro(100413)
Si Intro(100413)Si Intro(100413)
Si Intro(100413)imsong
 
Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...
Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...
Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...iosrjce
 
IRJET- Study Over Current Relay (MCGG53) Response using Matlab Model
IRJET- Study Over Current Relay (MCGG53) Response using Matlab ModelIRJET- Study Over Current Relay (MCGG53) Response using Matlab Model
IRJET- Study Over Current Relay (MCGG53) Response using Matlab ModelIRJET Journal
 
Design and Analysis of Sequential Elements for Low Power Clocking System with...
Design and Analysis of Sequential Elements for Low Power Clocking System with...Design and Analysis of Sequential Elements for Low Power Clocking System with...
Design and Analysis of Sequential Elements for Low Power Clocking System with...IJERA Editor
 
CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1
CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1
CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1Javed G S, PhD
 
manual-pe-2017_compress.pdf
manual-pe-2017_compress.pdfmanual-pe-2017_compress.pdf
manual-pe-2017_compress.pdfAbdo Brahmi
 
Design and Implementation of Astable Multivibrator using 555 Timer
Design and Implementation of Astable Multivibrator using 555 Timer Design and Implementation of Astable Multivibrator using 555 Timer
Design and Implementation of Astable Multivibrator using 555 Timer IOSRJEEE
 
DESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATOR
DESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATORDESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATOR
DESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATORVLSICS Design
 

Similaire à Library Characterization Flow (20)

Low Power VLSI Designs
Low Power VLSI DesignsLow Power VLSI Designs
Low Power VLSI Designs
 
Low Power VLSI Design
Low Power VLSI DesignLow Power VLSI Design
Low Power VLSI Design
 
VLSI Power in a Nutshell
VLSI Power in a NutshellVLSI Power in a Nutshell
VLSI Power in a Nutshell
 
Low power electronic design
Low power electronic designLow power electronic design
Low power electronic design
 
Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...
 
Bt31482484
Bt31482484Bt31482484
Bt31482484
 
final report
final reportfinal report
final report
 
SolAero Tech Intern_Project Overview
SolAero Tech Intern_Project OverviewSolAero Tech Intern_Project Overview
SolAero Tech Intern_Project Overview
 
Project_Kaveh & Mohammad
Project_Kaveh & MohammadProject_Kaveh & Mohammad
Project_Kaveh & Mohammad
 
Si Intro(100413)
Si Intro(100413)Si Intro(100413)
Si Intro(100413)
 
H010613642
H010613642H010613642
H010613642
 
Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...
Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...
Vlsi Design of Low Transition Low Power Test Pattern Generator Using Fault Co...
 
IRJET- Study Over Current Relay (MCGG53) Response using Matlab Model
IRJET- Study Over Current Relay (MCGG53) Response using Matlab ModelIRJET- Study Over Current Relay (MCGG53) Response using Matlab Model
IRJET- Study Over Current Relay (MCGG53) Response using Matlab Model
 
Gene's law
Gene's lawGene's law
Gene's law
 
Design and Analysis of Sequential Elements for Low Power Clocking System with...
Design and Analysis of Sequential Elements for Low Power Clocking System with...Design and Analysis of Sequential Elements for Low Power Clocking System with...
Design and Analysis of Sequential Elements for Low Power Clocking System with...
 
CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1
CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1
CMOS Analog IC design by Dr GS Javed - Refresher Course - Batch 1
 
manual-pe-2017_compress.pdf
manual-pe-2017_compress.pdfmanual-pe-2017_compress.pdf
manual-pe-2017_compress.pdf
 
embedded system
embedded system  embedded system
embedded system
 
Design and Implementation of Astable Multivibrator using 555 Timer
Design and Implementation of Astable Multivibrator using 555 Timer Design and Implementation of Astable Multivibrator using 555 Timer
Design and Implementation of Astable Multivibrator using 555 Timer
 
DESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATOR
DESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATORDESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATOR
DESIGN AND PERFORMANCE ANALYSIS OF NINE STAGES CMOS BASED RING OSCILLATOR
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Dernier (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Library Characterization Flow

  • 1. Library Characterization Its Impact on Semiconductor Industry & the flow Satish Kumar Grandhi (https://sites.google.com/site/satishkumargrandhi2/)
  • 2. Let’s start off on a Funny Note Why Choose Library Characterization as a career ?? Very little manual effort, need only little extra intelligence Effort – 30% , Enjoyment – 70% ; No need to work over weekends  Only one issue : Convergence (Kills u big time) Double Edged Sword; Little Chance of firing . But, Very few players in this business, no great chances of jumping around . Most Important ; It keeps your options wide open Physical Design, STA EDA Tool Development Circuit Design
  • 3. Acknowledgements Heart Felt Thanks to Masamb Electronics, Anupam Kumar Sinha in specific Naveen Kumar Kotha (LSI Bangalore), Rachit I. Kushalappa (TI, Bangalore) & Naresh ANNE (AMD USA) Wiki, EDABoard & LTSPICE yahoo group NANGATE for providing open source 45nm STD cell library package All prof’s with US universities (You guys don’t hide your work in the internal repositories, hats off to you) Collegues @ NXP, Cypress & ST MicroElectronics Check out my weblink on Library Characterization for latest updated version of these slides & for more info Speaker guarantees no originality in this work ; It is a mix of material accumulated from various sources We are as dwarfs sitting on the shoulders of giants -- Sir Issac Newton
  • 4. Contents Necessity & the Impact Fundamental Terminology Glancing Through .LIB Characterization Methodology Case Studies : Inverter & D-Flop Advanced Topics References
  • 5. Two Great Laws Moore’s LawOn April 19, 1965 Moore predicted the most important law ever proposed in Semiconductors. Amdahl's law states that the performance improvement to be gained from using some faster mode of execution is limited by the fraction of the time the faster mode can be used Missing 3rd law, the NLDM law  How are these related ??
  • 7. Two Generic Flows Reference : Allen Holberg, Gatech and Laker, Upenn Class Room Lectures
  • 8. INTEL Processor’s Growth * All the predictions are based on wiki…could be approximate
  • 10. Input Slew & Output Load Slew rate : Represents the maximum rate of change of signal Output Load : Total amount of capacitance at the output node
  • 11. Timing - Combinational Transition Delay Time a system needs to switch between two different stable states, when responding to a stable input signal Propagation Delays Time it takes for the output signal to switch after the input signal has been applied.
  • 12. Timing – Sequential 1 Setup & Hold Minimum time the data signal has to be present at the input pin of a memory cell before/after the write signal arrives. General Methodology employed : Binary Chop
  • 13. Timing - Sequential 2 Recovery / Removal Minimum time delay that has to maintained between an asynchronous clear/set signal and before/after the clock of the cell is triggered. Method Used : Binary Chop
  • 14. Timing – Sequential 3 Minimum Pulse WidthMinimum width of control signal in order for the cell to detect it. If the clock signal active period is smaller than this minimum time, you cannot be sure that the cell will have stored the input’s value properly.
  • 15. Timing Unateness Positive Unate Negative Unate Non Unate
  • 16. Power – Short circuit If a path exists from power supply to ground, it results in continuous flow of current and results in static power dissipation CMOS Technology has neglible static power consumption (biggest advantage and reason as to why CMOS is so very popular).
  • 17. Power - Dynamic Power dissipated during the charging and discharging of the output Load capacitance. Pdyn =  CL * Vdd2 * f
  • 18. Power - Leakage The power consumed by the sub threshold currents and by reverse biased diodes in a CMOS transistor Major Sources : Sub threshold condition Gate Leakage current * Check out Reference6
  • 19. Wire Load Models /* Wire load table */   wire_load("ABC") {     capacitance : 1.774000e-04;     resistance : 3.571429e-03;     area  : 7.559700e-02;     slope : 5.000000;     fanout_length( 1, 1.3207 );     fanout_length( 2, 2.9813 );     fanout_length( 3, 5.1135 );     fanout_length( 4, 7.6639 );     fanout_length( 5, 10.0334 );     fanout_length( 6, 12.2296 );     fanout_length( 8, 19.3185 );   }   No info on interconnect parasitic before Physical Design Attempts to predict the capacitance and resistance of nets in the absence of placement and routing information Excellent Paper : Steve Golson, "Resistance is Futile! Building Better Wireload Models"  (Link)
  • 21. Methodology * Prototype Copied from Liberty NCX manual
  • 22. Sensitization Set of logic conditions leading to transition; This logic condition setup process is called sensitization. In other words, it generates the stimulus at the cell input pins necessary to produce a simulation measurement of the desired characteristic, such as delay or slew. No simulations performed, analytically derives the functionality of the cell from Boolean expressions, truth tables, state tables, and flip-flop latch groups defined in the input library or template files.
  • 23. Load Sharing Facility (LSF) Goal : Give many users processes "fair share" of resources (CPU, memory , ….) Commands : bjobs, bqueues, bhist, bkill, bswitch, bpause, bresume
  • 24. How Simulator Works ?? Input Setup Sanity Check Generate .LIB (final masala) Arc List for each Cell Fetch the Results Develop Sensitization Vector’s Launch Them on LSF Create Spice Deck for each case
  • 25. Capacitance Characterization Buffer comparison methodcalculates by comparing the output slope of three identical reference buffers. Charge calculation method monitors the total current (charge) flowing through each input pin and integrates it over a period of time
  • 26. Power Characterization Calculates the current consumed and convert into power Find paths from input pins to outputs, look for every valid pin combination of the cell and simulate it. Plus, some input combinations don't change any output. But, results in power consumption For example: Clocks, sets, resets etc. that do not change the output because it already had the proper state Input changes without a clock change Also, Leakage power
  • 28. .Measure (Spice Command) Prints the results of specific user defined analyses With this command you can measure rise and fall times, length of a pulse, delays, voltages, etc. ELDO - .extract Spectre – {export}???
  • 29. CS 1 : Inverter ARCS : IN  OUT Measurements : Rise, Fall Sensitization Vectors IN : 01, 10 OUT : 10, 01
  • 30. Cap Measurements Power Measurements
  • 32. Technology Impact Simulated a 3 Input NAND gate (all inputs set to '1') using cadence GPDK180 & NANGATE's 45nm models With shrinking gate length, the leakage current increases Ref : ITRS Roadmap 2005
  • 33. CS 2 : D Flip Flop Consider a Asynchronous flop with set & Reset pins. Possible arcs to be characterized : Clk -> Q (delay) D -> Clk (setup & Hold) Set/ Reset -> Clk (Recovery & Removal) Power & cap characterization (Each instance is a 3 input nand gate)
  • 34. Various Arcs in Scan Flop ( Snapshot from Reference 3 )
  • 35. Setup Analysis ** For Setup Time Analysis VIN2 D 0 pwl 0 0 4.99995n 0 5.99995n 1.8 11n 1.8 12n 0 24n 0 24.9995n 0 25.9995n 1.8 .MEASURE TRAN setup_time **** Constrained pin is falling + trig V(D) val = 0.9 rise= 1 **** Related pin is rising + targ V(CLK) val = 0.9 rise = 2 Setup time=1.955e-008 FROM 5.49995e-009 TO 2.505e-008
  • 36. From STA Point of View --Very primitive, will improve in the days to come
  • 37. CAP on a net Total o/p node cap = Sum of { all input caps of driven cells + wire Capacitance + O/p Node Capacitance }
  • 38. Delay Calculation UINV0 (NET0, I2) UAND1 (O1, I1, NET0) UNOR2(O2, O1, NET0)
  • 40. State Dependent Delays Timing arcs depend on the state of pins other than Input & Output Multiple timing models are used to describe ‘a’ arc Consider a 2 I/P XOR Gate timing () { related_pin : "A"; when : "B"; sdf_cond : "(B == 1'b1)"; timing_sense : negative_unate; cell_fall(Timing_data_X1) { values ("0.012959,0.015005,…….. …………………………………………… timing () { related_pin : "A"; when : "!B"; sdf_cond : "(B == 1'b0)"; timing_sense : positive_unate; cell_fall(Timing_data_X1) { values ("0.036818,0.038956, …….. ……………………………………………
  • 41. Negative Delays A large input slope and a cell that reacts either very quickly
  • 42. Load Cap Characterization When output slew transition = Max_Slew(max_tout), the output loading = Max_load
  • 43. Tri State Delay Measurement Cannot be measured using conventional voltage levels Measured by looking at the current through the output pin. Test Equipment consists of Current detector on the output of the tristate cell Pull-up and pull-down resistors that can be switched on/off independently
  • 44. Measuring Normal-tri state delays Switch on both pull-up and pull-down resistors; produce a short current flows at the output pin. When the cell enters tristate mode the output pin will be isolated from the rest of the cell, the path from supply to output cut, and current through the output pin will stop. Current monitoring device detects when the value goes below a certain threshold (pre-defined) which is the required delay.
  • 45. Tri State to High state delays Activate only the pull-down resistor Switch off the pull-down resistor Push the Circuit into Tri State Mode Enable the cell so that output rise ‘s
  • 46. References Sung Mo Kang and Yusuf Leblebici, "CMOS Digital Integrated Circuits-Analysis and Design", Tata McGraw Hill, Third Edition, New Delhi, 2003 J. Bhasker & RakeshChadha, “Static Timing Analysis for Nanometer Designs: A Practical Approach” Jan M. Rabaey, AnanthaChandrakasan, and BorivojeNikolic, “Digital Integrated Circuits: A Design Perspective” RACHITH I. KUSHALAPPA, "AutoLibGen : An open source tool for automation of Standard Cell Library characterization for VDSM designs", M.E Thesis, NITK Surathkal, 2008 NARESH ANNE, "Design and Characterization of a standard cell library for the freePDK 45 process ", M.S Thesis, Oklahoma State University, 2010 (link)
  • 47. References…. HSpice Simulation and Analysis Users Guide, Version Y-2006.09, Sep 2006 Synopsys NCX User guide, Version B-2008.12, December 2008 An Excellent Lecture on Leakage power & possible reduction Techniques by R. Saleh, Uni of British Columbia (Link) Nangate 45nm Open Cell Library (link) Excellent Tutorial on HSPICE (Link) LTSPICE Yahoo Group (Link) Last, but not the least, extensive knowledge I gained by interacting with Library char teams @ NXP, Cypress & ST microelectronics which can’t be put in words