SlideShare a Scribd company logo
1 of 14
Download to read offline
1
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Liberty Timing File
The .lib file is an ASCII representation of the timing and power parameters associated with
any cell in a particular semiconductor technology
The timing and power parameters are obtained by simulating the cells under a variety of
conditions and the data is represented in the .lib format
The .lib file contains timing models and data to calculate
„ I/O delay paths
„ Timing check values
„ Interconnect delays
I/O path delays and timing check values are computed on a per-instance basis
Path delays in a circuit depend upon the electrical behavior of interconnects between cells
This parasitic information can be based on the layout of the design, but must be
estimated when no layout information is available
Also it is not possible to predict the process, voltage and temperature variations and derat-
ing factors can be included to compensate for these variations
2
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Cell-Based Delay Calculation
Cell-based delay calculation is modeled by characterizing cell delay and output transition
time (output slew) as a function of input transition time (input slew) and the capacitive
load on the output of the cell.
Timing checks are also functions of input slew and output capacitive load
Each cell has a specific number of input-to-output paths
 Path delays can be described for each input signal transition that affects an output signal
 The path delay can also depend on signals at other inputs (state dependencies)
 In many sequential cells, the path delay from an input pin to an output pin can depend on
the path delay from another output pin to this output pin
A
B
C
Z
3
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Delay Calculation and Timing Checks
Input-Slew, Output-Slew and Cell Delay
Time
Voltage
Output
VL
VH
VTHH
VTHL
VTH
Input Slew Output Slew
Delay
(90% VH)
(10% VH)
(50% VH)
slew_lower_threshold_pct_fall
slew_upper_threshold_pct_fall
slew_upper_threshold_pct_rise
slew_lower_threshold_pct_rise
input_threshold_pct_fall
input_threshold_pct_rise
output_threshold_pct_fall
output_threshold_pct_rise
Input
4
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Checks
Setup and Hold Time (Timing Checks)
Data
Clock Setup Time
Hold Time
Data
setup_rising
setup_falling hold_falling
hold_rising
rise_constraint
fall_constraint
5
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Checks
No-Change
Write
Address
Hold
Setup
nochange_low_low
nochange_high_low
nochange_high_high
nochange_low_high
related pin (eg. write)
constrained pin (eg. address)
6
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Checks
Removal:
Recovery
Clock
Clear
Removal
active edge
(asyn pin)
active
inactive
removal_rising
removal_falling
Clear
Clock
Recovery
recovery_rising
recovery_falling
inactive
active
7
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
What we will have and not have in our library?
Library Information
 Header information
 No wireload models
Prior design data is required to accurately generate these models
We will rather use tools use physical information during synthesis
 Operation conditions, derating factors, limits and units
Three different values are usually required: typical, worst and best case
However, to accurately get these three values process parameters and transistor mod-
els for the entire process spread are required
This information is only available to the foundry
We can perform simulations only with MOSIS provided models
Average extraction parameters and spice models will be used for the simulations
We can still run simulations at various temperatures and voltages
We can use +/- 5% or +/- 10% variations as best and worst case values
When using the library, keep in mind that you need to guard band for these variations
8
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
 Operation conditions, derating factors, limits and units (contd.)
library and delay_model
Provide a library name and the delay model to use. We will be using the table_lookup
(non-linear delay) model
nom_process property
Specifies the reference points for process scaling used for the characterization of the
cells. Our file will contain values for only one process point and so a 1.0 will be used
However, we can create three different files for typical, worst and best.
nom_temperature and nom_voltage
Specifies the tempreatue and voltage reference points
operating_conditions
Defines the process, temperature and voltage values at the library level along with the
default_operating_conditions
9
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
 Operation conditions, derating factors, limits and units (contd.)
slew and delay threshold points (previously discussed)
Low and high threshold values for slew calculation (10% - 90% points) and the thresh-
old for delay calculations (50% points)
default values for fanout, capacitance, slew
Specifies the limits on maximum input slew on an input pin, input/inout pin capaci-
tance and the maximum output capacitance on any output pin
units
Specifies the units used for time, capacitance, power, voltage, current etc.
derating factors and wire-load models
As previously discussed we need detailed process information for this as well as
extracted parasitics from previous designs.
10
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
Lookup table templates
Define templates of common information to us in lookup tables. These are defined for
timing arcs, power and timing checks that will be included in the cell definitions
Cell Definitions
Cell(cell_name )
The cell name
Area
Specifies the cell area, used during logic synthesis and timing analysis, no units
<lookup tables>(lookup_table_template_name)
Specifies the timing models, power, timing checks to use for the particular path in the
circuit
One, two or three dimensional models are used depending on the lookup-table being
created
11
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
Two dimensional model
The two independent axis variables are input slew and output load capacitance
cell_fall(fall_template_name n x m)
index_1 (value1, value2, ... , value n)
index_2 (value1, value2, ... , value m)
values ( 
data_max11:data_typ11:data_min11, ..., data_max1m:data_typ1m:data_min1m 
..... 
data_maxn1:data_typn1:data_minn1, ..., data_maxnm:data_typnm:data_minnm);
Slew
Output
Capacitance
Input
Data
(delay, power, timing checks)
Two dimensional Timing Model
12
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
pin(pin_name)
direction : input, output, inout, internal
clock_pin
function(expression)
Used for output or bidirectional pins. The expression defines the value of the out-
put pin as a function of input pins
max_capacitance
The maximum output capacitive load that an output pin can drive
capacitance
The capacitive load of an input, inout, output or internal pin. Usually defined as 0
for output pins
internal_power()
Output pins in combinational cells, define the rise_power and fall_power to a
related input pin. Input and clock pins also define this in sequential cells
timing()
Output pins in combinational cells, define the rise_delay, fall_delay,
rise_transition and fall_transition to a related input pin
13
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
timing() contd.
Timing checks are also defined for sequential cells
pulse width definitions, recovery, removal
Required for clocks, asynchronous set and reset pins
Flip-flops and latches
Flip-flops and latches need to be defined using ff and latch groups
ff (<state of noninverting output>, <state of inverting output>) {
clocked_on: <clock pin name>
next_state: <input combination that produces the next state>
clear: <active value of the clear input>
preset: <active value of the preset input>
clear_preset_var1: <value of noninverting output when both active>
clear_preset_var2: <value of inverting output when both active> }
latch()
latch is similar but requires enable and data in, instead of clock and next state
14
Advanced VLSI Design CMPE 641
Liberty Timing File (LIB)
Timing Library
Scan Cells
Requires a test_cell group to be defined along with the ff or latch group
Two ff groups need to be defined, one in the cell (function defined with testing
features) and one inside the test_cell group (without the testing features)
test_cell(){
Inside the test_cell group all pins are defined and test related pins are given a
signal_type or test_output_only attribute
signal_type can be:
test_scan_in: scan input pin
test_scan_in_inverted: inverted scan input
test_scan_out: scan output pin
test_scan_out_inverted: inverted scan output
test_scan_enable: high on this pin puts it in test mode (scan and shift)
test_scan_enable_inverted: same as above but inverted
test_scan_clock: test scan clock for clocked-scan
other clocks defined for LSSD scan

More Related Content

Similar to LIBRARY_information.pdf

Smashing the stack for fun and profit
Smashing the stack for fun and profitSmashing the stack for fun and profit
Smashing the stack for fun and profit
Alexey Miasoedov
 
Thomas+Niewel+ +Oracletuning
Thomas+Niewel+ +OracletuningThomas+Niewel+ +Oracletuning
Thomas+Niewel+ +Oracletuning
afa reg
 
Bay area Cassandra Meetup 2011
Bay area Cassandra Meetup 2011Bay area Cassandra Meetup 2011
Bay area Cassandra Meetup 2011
mubarakss
 
Vlsiexpt 11 12
Vlsiexpt 11 12Vlsiexpt 11 12
Vlsiexpt 11 12
JINCY Soju
 
lte-enodeb-s1-startup-sib-rrc-connection.pdf
lte-enodeb-s1-startup-sib-rrc-connection.pdflte-enodeb-s1-startup-sib-rrc-connection.pdf
lte-enodeb-s1-startup-sib-rrc-connection.pdf
Junaid Alam
 

Similar to LIBRARY_information.pdf (20)

Vlsi lab2
Vlsi lab2Vlsi lab2
Vlsi lab2
 
Scaling out SSIS with Parallelism, Diving Deep Into The Dataflow Engine
Scaling out SSIS with Parallelism, Diving Deep Into The Dataflow EngineScaling out SSIS with Parallelism, Diving Deep Into The Dataflow Engine
Scaling out SSIS with Parallelism, Diving Deep Into The Dataflow Engine
 
ClockSystem: Embedding Time in Smalltalk
ClockSystem: Embedding Time in SmalltalkClockSystem: Embedding Time in Smalltalk
ClockSystem: Embedding Time in Smalltalk
 
Guidelines for-early-power-analysis
Guidelines for-early-power-analysisGuidelines for-early-power-analysis
Guidelines for-early-power-analysis
 
Automated Synthesis from HDL models Design Compiler (Synopsys)
Automated Synthesis from  HDL models Design Compiler (Synopsys)Automated Synthesis from  HDL models Design Compiler (Synopsys)
Automated Synthesis from HDL models Design Compiler (Synopsys)
 
Chapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptxChapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptx
 
Smashing the stack for fun and profit
Smashing the stack for fun and profitSmashing the stack for fun and profit
Smashing the stack for fun and profit
 
Basic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSIBasic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSI
 
Thomas+Niewel+ +Oracletuning
Thomas+Niewel+ +OracletuningThomas+Niewel+ +Oracletuning
Thomas+Niewel+ +Oracletuning
 
Automating the Hunt for Non-Obvious Sources of Latency Spreads
Automating the Hunt for Non-Obvious Sources of Latency SpreadsAutomating the Hunt for Non-Obvious Sources of Latency Spreads
Automating the Hunt for Non-Obvious Sources of Latency Spreads
 
Bay area Cassandra Meetup 2011
Bay area Cassandra Meetup 2011Bay area Cassandra Meetup 2011
Bay area Cassandra Meetup 2011
 
Vlsiexpt 11 12
Vlsiexpt 11 12Vlsiexpt 11 12
Vlsiexpt 11 12
 
Digital standard cell library Design flow
Digital standard cell library Design flowDigital standard cell library Design flow
Digital standard cell library Design flow
 
Online Architecture Assignment Help
Online Architecture Assignment HelpOnline Architecture Assignment Help
Online Architecture Assignment Help
 
1z0 034 exam-upgrade oracle9i10g oca to oracle database 11g ocp
1z0 034 exam-upgrade oracle9i10g oca to oracle database 11g ocp1z0 034 exam-upgrade oracle9i10g oca to oracle database 11g ocp
1z0 034 exam-upgrade oracle9i10g oca to oracle database 11g ocp
 
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIWLec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
 
Hypertable Nosql
Hypertable NosqlHypertable Nosql
Hypertable Nosql
 
Hypertable
HypertableHypertable
Hypertable
 
Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...
 
lte-enodeb-s1-startup-sib-rrc-connection.pdf
lte-enodeb-s1-startup-sib-rrc-connection.pdflte-enodeb-s1-startup-sib-rrc-connection.pdf
lte-enodeb-s1-startup-sib-rrc-connection.pdf
 

Recently uploaded

Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
Overkill Security
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 

LIBRARY_information.pdf

  • 1. 1 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Liberty Timing File The .lib file is an ASCII representation of the timing and power parameters associated with any cell in a particular semiconductor technology The timing and power parameters are obtained by simulating the cells under a variety of conditions and the data is represented in the .lib format The .lib file contains timing models and data to calculate „ I/O delay paths „ Timing check values „ Interconnect delays I/O path delays and timing check values are computed on a per-instance basis Path delays in a circuit depend upon the electrical behavior of interconnects between cells This parasitic information can be based on the layout of the design, but must be estimated when no layout information is available Also it is not possible to predict the process, voltage and temperature variations and derat- ing factors can be included to compensate for these variations
  • 2. 2 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Cell-Based Delay Calculation Cell-based delay calculation is modeled by characterizing cell delay and output transition time (output slew) as a function of input transition time (input slew) and the capacitive load on the output of the cell. Timing checks are also functions of input slew and output capacitive load Each cell has a specific number of input-to-output paths  Path delays can be described for each input signal transition that affects an output signal  The path delay can also depend on signals at other inputs (state dependencies)  In many sequential cells, the path delay from an input pin to an output pin can depend on the path delay from another output pin to this output pin A B C Z
  • 3. 3 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Delay Calculation and Timing Checks Input-Slew, Output-Slew and Cell Delay Time Voltage Output VL VH VTHH VTHL VTH Input Slew Output Slew Delay (90% VH) (10% VH) (50% VH) slew_lower_threshold_pct_fall slew_upper_threshold_pct_fall slew_upper_threshold_pct_rise slew_lower_threshold_pct_rise input_threshold_pct_fall input_threshold_pct_rise output_threshold_pct_fall output_threshold_pct_rise Input
  • 4. 4 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Checks Setup and Hold Time (Timing Checks) Data Clock Setup Time Hold Time Data setup_rising setup_falling hold_falling hold_rising rise_constraint fall_constraint
  • 5. 5 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Checks No-Change Write Address Hold Setup nochange_low_low nochange_high_low nochange_high_high nochange_low_high related pin (eg. write) constrained pin (eg. address)
  • 6. 6 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Checks Removal: Recovery Clock Clear Removal active edge (asyn pin) active inactive removal_rising removal_falling Clear Clock Recovery recovery_rising recovery_falling inactive active
  • 7. 7 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library What we will have and not have in our library? Library Information  Header information  No wireload models Prior design data is required to accurately generate these models We will rather use tools use physical information during synthesis  Operation conditions, derating factors, limits and units Three different values are usually required: typical, worst and best case However, to accurately get these three values process parameters and transistor mod- els for the entire process spread are required This information is only available to the foundry We can perform simulations only with MOSIS provided models Average extraction parameters and spice models will be used for the simulations We can still run simulations at various temperatures and voltages We can use +/- 5% or +/- 10% variations as best and worst case values When using the library, keep in mind that you need to guard band for these variations
  • 8. 8 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library  Operation conditions, derating factors, limits and units (contd.) library and delay_model Provide a library name and the delay model to use. We will be using the table_lookup (non-linear delay) model nom_process property Specifies the reference points for process scaling used for the characterization of the cells. Our file will contain values for only one process point and so a 1.0 will be used However, we can create three different files for typical, worst and best. nom_temperature and nom_voltage Specifies the tempreatue and voltage reference points operating_conditions Defines the process, temperature and voltage values at the library level along with the default_operating_conditions
  • 9. 9 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library  Operation conditions, derating factors, limits and units (contd.) slew and delay threshold points (previously discussed) Low and high threshold values for slew calculation (10% - 90% points) and the thresh- old for delay calculations (50% points) default values for fanout, capacitance, slew Specifies the limits on maximum input slew on an input pin, input/inout pin capaci- tance and the maximum output capacitance on any output pin units Specifies the units used for time, capacitance, power, voltage, current etc. derating factors and wire-load models As previously discussed we need detailed process information for this as well as extracted parasitics from previous designs.
  • 10. 10 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library Lookup table templates Define templates of common information to us in lookup tables. These are defined for timing arcs, power and timing checks that will be included in the cell definitions Cell Definitions Cell(cell_name ) The cell name Area Specifies the cell area, used during logic synthesis and timing analysis, no units <lookup tables>(lookup_table_template_name) Specifies the timing models, power, timing checks to use for the particular path in the circuit One, two or three dimensional models are used depending on the lookup-table being created
  • 11. 11 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library Two dimensional model The two independent axis variables are input slew and output load capacitance cell_fall(fall_template_name n x m) index_1 (value1, value2, ... , value n) index_2 (value1, value2, ... , value m) values ( data_max11:data_typ11:data_min11, ..., data_max1m:data_typ1m:data_min1m ..... data_maxn1:data_typn1:data_minn1, ..., data_maxnm:data_typnm:data_minnm); Slew Output Capacitance Input Data (delay, power, timing checks) Two dimensional Timing Model
  • 12. 12 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library pin(pin_name) direction : input, output, inout, internal clock_pin function(expression) Used for output or bidirectional pins. The expression defines the value of the out- put pin as a function of input pins max_capacitance The maximum output capacitive load that an output pin can drive capacitance The capacitive load of an input, inout, output or internal pin. Usually defined as 0 for output pins internal_power() Output pins in combinational cells, define the rise_power and fall_power to a related input pin. Input and clock pins also define this in sequential cells timing() Output pins in combinational cells, define the rise_delay, fall_delay, rise_transition and fall_transition to a related input pin
  • 13. 13 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library timing() contd. Timing checks are also defined for sequential cells pulse width definitions, recovery, removal Required for clocks, asynchronous set and reset pins Flip-flops and latches Flip-flops and latches need to be defined using ff and latch groups ff (<state of noninverting output>, <state of inverting output>) { clocked_on: <clock pin name> next_state: <input combination that produces the next state> clear: <active value of the clear input> preset: <active value of the preset input> clear_preset_var1: <value of noninverting output when both active> clear_preset_var2: <value of inverting output when both active> } latch() latch is similar but requires enable and data in, instead of clock and next state
  • 14. 14 Advanced VLSI Design CMPE 641 Liberty Timing File (LIB) Timing Library Scan Cells Requires a test_cell group to be defined along with the ff or latch group Two ff groups need to be defined, one in the cell (function defined with testing features) and one inside the test_cell group (without the testing features) test_cell(){ Inside the test_cell group all pins are defined and test related pins are given a signal_type or test_output_only attribute signal_type can be: test_scan_in: scan input pin test_scan_in_inverted: inverted scan input test_scan_out: scan output pin test_scan_out_inverted: inverted scan output test_scan_enable: high on this pin puts it in test mode (scan and shift) test_scan_enable_inverted: same as above but inverted test_scan_clock: test scan clock for clocked-scan other clocks defined for LSSD scan