Lib file is a short form of Liberty Timing file. Liberty syntax is followed to write a .lib file. LIB file is an ASCII representation of timing and power parameter associated with cells inside the standard cell library of a particular technology node. Lib file is basically a timing model file which contains cell delay, cell transition time, setup and hold time requirement of the cell. So Lib file basically contains the timing and electrical characteristics of a cell or macros. Lib file is generated and provided to ASIC designer by a standard cell library vendor or Foundry if the foundry provides a standard cell library.
The information inside the Lib file can be divided into two main parts, in the first part, it contains some information which is common for all the standard cells. To understand it better have a look in the following snapshot of the Lib file.
- Library name and technology name
- Units (of time, power, voltage, current, resistance and capacitance)
- Value of operating condition ( process, voltage and temperature) – Max, Min and Typical
Based on operating conditions there are three different lib files for Max, Min and Typical corners. In the second part of Lib file, it contains cell-specific information for each cell. The part of Lib file which contains cell-specific information is shown below.
Cell-specific information in Lib file is mainly
-
Cell name
-
PG Pin name
-
Area of cell
-
Leakage power in respect of input pins logic state
- Pins details
-
- Pin name
- Pin direction
- Internal power
- Capacitance
- Raise capacitance
- Fall Capacitance
- Fanout load
A snapshot of Lib file for the pin part is given below.
-
-
- CCS (Composite Current Source)
- NLDM (Non-Linear Delay Model)
-
Very helpful.
Thanks Yash!
How can we generate a liberty file in Innovus for a design like AES crypto module?