Liberty file contains Timing related information of all the Standard Cells and Macros in the Design. Timing information is presently based on a few PVT conditions. Every PVT Corner tested gives different Timing information. So, there is a different Liberty File for each PVT Corner.
Liberty Files are generated by two types of models, namely the NLDM and CCS models.
NLDM (Non-Linear Delay Model)
In NLDM .lib is generated using Voltage Source and there are only 2-3 variables used to generate .lib by observing the change in Input and Output Timing information. NLDM is not an accurate method for generating .lib as it has only 2-3 output points and which is not enough to obtain the non-linearities of a circuit in lower technology nodes.
NLDM Driver Model
It measures the output transition time and input to output delay based on sensitivity to three factors i.e. input transition time, output load, and side input states. A circuit simulator is used to obtain the characteristics.
In the below Fig.1, the curve is obtained from characterization software like Guna which measures and captures 3 points on the sides of active input and active output. The points are known as delay and transition time thresholds. Output transition time is measured as the difference between lower and upper transition time and cell delay is measured as the difference between input delay threshold and output delay threshold. These two i.e. Delay and Transition time are considered in the NLDM driver model.
Fig.1: NLDM Driver Model Characterization
Fig. 2: NLDM Driver Model
NLDM Receiver Model
It consists of a single capacitor for the entire transition with no sensitivity.
Two Dimensional NLDM
It is a table in matrix form between input transition and output load that gives delay information of standard cells.
CCS Model (Composite Current Source) Model
In the CCS model, there are around 20 variables to generate a .lib file. CCS model generates .lib based on Input Transition and Output Load. Since it has more number variables the .lib file generated using the CCS model is more accurate than NLDM. Also .lib is based on the CCS model is always larger than the .lib file generated using the NLDM model.
CCS Driver Model
In the CCS Driver Model Current waveform is captured which is flowing into the load capacitor of the cell. It is also sensitive to input transition, output load, and side inputs. It provides better accuracy in scenarios when the impedance of the net is very high, this is because the CCS model has a current source with infinite driver resistance.
Fig. 3: CCS Driver Model
CCS Receiver Model
Similar to NLDM Receiver Model with additional elements like miller capacitance, state of side inputs, input transition time, and output load.
Fig. 4: CCS Receiver Model
Contents of Liberty File
It consists of mainly two parts:
The first part has information that is the same for all standard cells. Consider the below example
Fig. 5: Example of Liberty File for Standard Cell
The second part contains information that is specific to the cell. Consider the below example
Fig. 6: Example of Liberty file for Specific Cell
Liberty File contains the following information
- Time, Voltage, and Current Unit
- Leakage Power and Capacitive Load Unit
- Slew rate, Input, and Output threshold.
- Pin direction of a cell
- Power Ground Pin name
- Area of cell
- Leakage Power of cell
- Load Capacitance
- Rise and Fall transitions
- Rise power and fall power
- Cell fall and cell rise: The rise and fall delay through the cell-based on input transition and output load.
- Setup time and Hold time information
So, from this blog you can answer the below set of questions:
- Q1) What is a Liberty File?
- Q2) Difference between NLDM and CCS model.
- Q3) Explain NLDM Driver and Receiver Model.
- Q4) Explain CCS Driver and Receiver Model.
- Q5) What are the contents of the .lib File?