Example of .LIB file
library(typical) {
/* general attributes */
delay_model : table_lookup;
in_place_swap_mode : match_footprint;
library_features(report_delay_calculation);
/* documentation attributes */
revision : 1.0;
date : "…";
comment : "...";
/* unit attributes */
time_unit : "1ns";
voltage_unit : "1V";
current_unit : "1mA";
pulling_resistance_unit : "1kohm";
leakage_power_unit : "1pW";
capacitive_load_unit (1.0,pf);
/* operation conditions */
nom_process : 1;
nom_temperature : 25;
nom_voltage : 2.5;
operating_conditions(typical) {
process : 1;
temperature : 25;
voltage : 2.5;
tree_type : balanced_tree
}
default_operating_conditions : typical;
/* threshold definitions */
slew_lower_threshold_pct_fall : 10.0;
slew_upper_threshold_pct_fall : 90.0;
slew_lower_threshold_pct_rise : 10.0;
slew_upper_threshold_pct_rise : 90.0;
input_threshold_pct_fall : 60.0;
input_threshold_pct_rise : 40.0;
output_threshold_pct_fall : 60.0;
output_threshold_pct_rise : 40.0;
/* default attributes */
default_leakage_power_density : 0.0;
slew_derate_from_library : 1;
default_cell_leakage_power : 0.0;
default_fanout_load : 1.0;
default_output_pin_cap : 0.0;
default_inout_pin_cap : 0.005;
default_input_pin_cap : 0.005;
default_max_transition : 4.3;
/* templates */
lu_table_template(delay_template_7x1) {
variable_1 : input_net_transition;
index_1 ("1000, 1001, 1002, 1003, 1004, 1005, 1006");
}
power_lut_template(energy_template_7x1) {
variable_1 : input_transition_time;
index_1 ("1000, 1001, 1002, 1003, 1004, 1005, 1006");
}
lu_table_template(delay_template_7x7) {
variable_1 : input_net_transition;
variable_2 : total_output_net_capacitance;
index_1 ("1000, 1001, 1002, 1003, 1004, 1005, 1006");
index_2 ("1000, 1001, 1002, 1003, 1004, 1005, 1006");
}
power_lut_template(energy_template_7x7) {
variable_1 : input_transition_time;
variable_2 : total_output_net_capacitance;
index_1 ("1000, 1001, 1002, 1003, 1004, 1005, 1006");
index_2 ("1000, 1001, 1002, 1003, 1004, 1005, 1006");
}
power_lut_template(energy_template_1x7) {
variable_1 : total_output_net_capacitance;
index_1 ("1000, 1001, 1002, 1003, 1004, 1005, 1006");
}
/* k-factors */
k_process_cell_leakage_power : 0;
k_temp_cell_leakage_power : 0;
k_volt_cell_leakage_power : 0;
k_process_internal_power : 0;
k_temp_internal_power : 0;
k_volt_internal_power : 0;
k_process_rise_transition : 1;
k_temp_rise_transition : 0;
k_volt_rise_transition : 0;
k_process_fall_transition : 1;
k_temp_fall_transition : 0;
k_volt_fall_transition : 0;
k_process_setup_rise : 1;
k_temp_setup_rise : 0;
k_volt_setup_rise : 0;
k_process_setup_fall : 1;
k_temp_setup_fall : 0;
k_volt_setup_fall : 0;
k_process_hold_rise : 1;
k_temp_hold_rise : 0;
k_volt_hold_rise : 0;
k_process_hold_fall : 1;
k_temp_hold_fall : 0;
k_volt_hold_fall : 0;
k_process_min_pulse_width_high : 1;
k_temp_min_pulse_width_high : 0;
k_volt_min_pulse_width_high : 0;
k_process_min_pulse_width_low : 1;
k_temp_min_pulse_width_low : 0;
k_volt_min_pulse_width_low : 0;
k_process_recovery_rise : 1;
k_temp_recovery_rise : 0;
k_volt_recovery_rise : 0;
k_process_recovery_fall : 1;
k_temp_recovery_fall : 0;
k_volt_recovery_fall : 0;
k_process_cell_rise : 1;
k_temp_cell_rise : 0;
k_volt_cell_rise : 0;
k_process_cell_fall : 1;
k_temp_cell_fall : 0;
k_volt_cell_fall : 0;
k_process_wire_cap : 0;
k_temp_wire_cap : 0;
k_volt_wire_cap : 0;
k_process_wire_res : 0;
k_temp_wire_res : 0;
k_volt_wire_res : 0;
k_process_pin_cap : 0;
k_temp_pin_cap : 0;
k_volt_pin_cap : 0;
/* pad attributes */
output_voltage(GENERAL) {
vol : 0.4;
voh : VDD - 0.4;
vomin : -0.5;
vomax : VDD + 0.5;
}
input_voltage(CMOS) {
vil : 0.3 * VDD;
vih : 0.7 * VDD;
vimin : -0.5;
vimax : VDD + 0.5;
}
input_voltage(TTL) {
vil : 0.8;
vih : 2;
vimin : -0.5;
vimax : VDD + 0.5;
}
/* wire-loads */
wire_load("1stSilicon25_wl10") {
resistance : 8.5e-8;
capacitance : 1.5e-4;
area : 0.7;
slope : 66.667;
fanout_length (1,66.667);
}
wire_load("1stSilicon25_wl20") {
resistance : 8.5e-8;
capacitance : 1.5e-4;
area : 0.7;
slope : 133.334;
fanout_length (1,133.334);
}
/* additional header data */
/* end of header section */
cell (INVXL) {
cell_footprint : inv;
area : 11.520000;
pin(A) {
direction : input;
capacitance : 0.003662;
}
pin(Y) {
direction : output;
capacitance : 0.0;
function : "(!A)";
internal_power() {
related_pin : "A";
rise_power(energy_template_7x7) {
index_1 ("0.05, 0.12, 0.25, 0.5, 1.1, 2.1, 4.3");
index_2 ("0.00025, 0.00325, 0.009, 0.02, 0.045, 0.09, 0.185");
values ( \
"0.016392, 0.016061, 0.017393, 0.017160, 0.015929, 0.013288, 0.007450", \
"0.018870, 0.018518, 0.017842, 0.017216, 0.015862, 0.013217, 0.007395", \
"0.023460, 0.022082, 0.019938, 0.018032, 0.015736, 0.012618, 0.006540", \
"0.034080, 0.031525, 0.028597, 0.025190, 0.020842, 0.016184, 0.008998", \
"0.059896, 0.056084, 0.050855, 0.044707, 0.036223, 0.027285, 0.015996", \
"0.103586, 0.098813, 0.091996, 0.082172, 0.068672, 0.053764, 0.035065", \
"0.200353, 0.194566, 0.185709, 0.172720, 0.150345, 0.125767, 0.093411");
}
fall_power(energy_template_7x7) {
index_1 ("0.05, 0.12, 0.25, 0.5, 1.1, 2.1, 4.3");
index_2 ("0.00025, 0.00325, 0.009, 0.02, 0.045, 0.09, 0.185");
values ( \
"0.001285, 0.000954, 0.000735, 0.000549, 0.000427, 0.000369, 0.000338", \
"0.000109, 0.000647, 0.000668, 0.000680, 0.000673, 0.000671, 0.000667", \
"0.003936, 0.002565, 0.001563, 0.000757, 0.000154, 0.000195, 0.000419", \
"0.013785, 0.011332, 0.008399, 0.005779, 0.003423, 0.001859, 0.000734", \
"0.039714, 0.035329, 0.029677, 0.023248, 0.016206, 0.010807, 0.006351", \
"0.083284, 0.077708, 0.069733, 0.059178, 0.045262, 0.032986, 0.021678", \
"0.179974, 0.173196, 0.162773, 0.147424, 0.123467, 0.097834, 0.070657");
}
}
timing() {
related_pin : "A";
timing_sense : negative_unate;
cell_rise(delay_template_7x7) {
index_1 ("0.05, 0.12, 0.25, 0.5, 1.1, 2.1, 4.3");
index_2 ("0.00025, 0.00325, 0.009, 0.02, 0.045, 0.09, 0.185");
values ( \
"0.037655, 0.057073, 0.093373, 0.161612, 0.315198, 0.590688, 1.171688", \
"0.057156, 0.081255, 0.117023, 0.184354, 0.337658, 0.613137, 1.194172", \
"0.090369, 0.119917, 0.163081, 0.230388, 0.381610, 0.656033, 1.236495", \
"0.149167, 0.187034, 0.239584, 0.320085, 0.471246, 0.742079, 1.319948", \
"0.280478, 0.332322, 0.402608, 0.503964, 0.687616, 0.960196, 1.528730", \
"0.488964, 0.556325, 0.647526, 0.776769, 0.998693, 1.322331, 1.893464", \
"0.933234, 1.022712, 1.144973, 1.317653, 1.607655, 2.006554, 2.692180");
}
rise_transition(delay_template_7x7) {
index_1 ("0.05, 0.12, 0.25, 0.5, 1.1, 2.1, 4.3");
index_2 ("0.00025, 0.00325, 0.009, 0.02, 0.045, 0.09, 0.185");
values ( \
"0.032938, 0.076097, 0.161712, 0.325918, 0.699502, 1.371966, 2.791634", \
"0.046493, 0.082846, 0.161724, 0.325971, 0.699525, 1.371983, 2.791638", \
"0.062770, 0.105093, 0.174893, 0.325997, 0.699531, 1.371977, 2.791636", \
"0.091558, 0.138811, 0.217252, 0.351213, 0.699533, 1.371960, 2.791638", \
"0.150104, 0.213750, 0.301824, 0.449981, 0.757041, 1.372364, 2.791636", \
"0.233437, 0.317935, 0.430190, 0.593470, 0.925274, 1.474987, 2.791626", \
"0.398985, 0.511230, 0.665262, 0.878496, 1.245906, 1.841385, 3.004514");
}
cell_fall(delay_template_7x7) {
index_1 ("0.05, 0.12, 0.25, 0.5, 1.1, 2.1, 4.3");
index_2 ("0.00025, 0.00325, 0.009, 0.02, 0.045, 0.09, 0.185");
values ( \
"0.028855, 0.042690, 0.065165, 0.107518, 0.203279, 0.375397, 0.738617", \
"0.037983, 0.058669, 0.086249, 0.128455, 0.223973, 0.395981, 0.759145", \
"0.049941, 0.077655, 0.115202, 0.167829, 0.263550, 0.434923, 0.797684", \
"0.066709, 0.103264, 0.153369, 0.223560, 0.340644, 0.511603, 0.872839", \
"0.099358, 0.147846, 0.216020, 0.313577, 0.475720, 0.693020, 1.057837", \
"0.146724, 0.206862, 0.292844, 0.418424, 0.631082, 0.914546, 1.364146", \
"0.241376, 0.316957, 0.426762, 0.589482, 0.871356, 1.254507, 1.857723");
}
fall_transition(delay_template_7x7) {
index_1 ("0.05, 0.12, 0.25, 0.5, 1.1, 2.1, 4.3");
index_2 ("0.00025, 0.00325, 0.009, 0.02, 0.045, 0.09, 0.185");
values ( \
"0.022391, 0.042383, 0.089603, 0.180601, 0.387714, 0.760692, 1.548171", \
"0.035884, 0.058008, 0.093439, 0.180570, 0.387701, 0.760680, 1.548174", \
"0.057128, 0.085089, 0.124363, 0.191460, 0.387715, 0.760690, 1.548171", \
"0.093106, 0.130545, 0.178846, 0.252479, 0.406319, 0.760685, 1.548175", \
"0.165070, 0.222021, 0.291107, 0.384197, 0.551598, 0.821725, 1.548156", \
"0.267784, 0.349354, 0.447297, 0.572893, 0.775659, 1.071009, 1.646853", \
"0.467469, 0.587194, 0.733775, 0.919089, 1.200145, 1.564351, 2.189028");
}
}
max_capacitance : 0.185000;
}
cell_leakage_power : 22.596370;
}