Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Cadence / DSD 4 / LIB_FILE+SYNTEZ

.doc
Скачиваний:
20
Добавлен:
16.04.2013
Размер:
764.93 Кб
Скачать

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;

}

12

Соседние файлы в папке DSD 4