blob: d9c16d2290814c8761365b12c8ea83d7e5c6e145 [file] [log] [blame]
library (ls05_stdcells) {
capacitive_load_unit (1.0, pf);
current_unit: "1uA";
default_operating_conditions: typical;
delay_model: table_lookup;
in_place_swap_mode: match_footprint;
input_threshold_pct_fall: 50.0;
input_threshold_pct_rise: 50.0;
leakage_power_unit: "1nW";
nom_process: 1.0;
nom_temperature: 25.0;
nom_voltage: 5.0;
output_threshold_pct_fall: 50.0;
output_threshold_pct_rise: 50.0;
pulling_resistance_unit: "1kohm";
slew_lower_threshold_pct_fall: 20.0;
slew_lower_threshold_pct_rise: 20.0;
slew_upper_threshold_pct_fall: 80.0;
slew_upper_threshold_pct_rise: 80.0;
time_unit: "1ns";
voltage_unit: "1V";
operating_conditions (typical) {
process: 1.0;
temperature: 25.0;
voltage: 5.0;
}
lu_table_template (delay_template_5x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: input_net_transition;
}
lu_table_template (delay_template_5x5) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_net_transition;
}
lu_table_template (delay_template_5x6) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_net_transition;
}
lu_table_template (delay_template_6x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: input_net_transition;
}
lu_table_template (delay_template_6x6) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_net_transition;
}
power_lut_template (energy_template_5x5) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_transition_time;
}
power_lut_template (energy_template_5x6) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_transition_time;
}
power_lut_template (energy_template_6x6) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_transition_time;
}
lu_table_template (hold_template_3x5) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (hold_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
power_lut_template (passive_energy_template_5x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: input_transition_time;
}
power_lut_template (passive_energy_template_6x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: input_transition_time;
}
lu_table_template (recovery_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (recovery_template_6x6) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (removal_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (setup_template_3x5) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (setup_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
cell (OAI22X1) {
area: 274320.0;
cell_leakage_power: 0.1173;
pin (D) {
capacitance: 0.0021453532257938264;
direction: input;
fall_capacitance: 6.164254229978021e-05;
rise_capacitance: 0.004229063909287872;
}
pin (C) {
capacitance: 0.004976915596377423;
direction: input;
fall_capacitance: 0.0057238940867746484;
rise_capacitance: 0.004229937105980198;
}
pin (B) {
capacitance: 0.004810999172966173;
direction: input;
fall_capacitance: 0.004686782002117296;
rise_capacitance: 0.00493521634381505;
}
pin (A) {
capacitance: 0.006365536753506552;
direction: input;
fall_capacitance: 0.007795205171653458;
rise_capacitance: 0.004935868335359646;
}
pin (Y) {
direction: output;
function: "((A & B & !C & !D + C & D & !A & !B + A & !B & !C & !D + B & !A & !C & !D + C & !A & !B & !D + D & !A & !B & !C + !A & !B & !C & !D))";
timing () {
related_pin: "D";
timing_sense: negative_unate;
cell_rise (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.016262, 0.017741, 0.020452, 0.019420, -0.001499", \
"0.095678, 0.090075, 0.091093, 0.099982, 0.152775", \
"0.173776, 0.166259, 0.163962, 0.166726, 0.258406", \
"0.328418, 0.319872, 0.314598, 0.311147, 0.428538", \
"1.568201, 1.558608, 1.549384, 1.535559, 1.515136"
);
}
cell_fall (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.011023, 0.018232, 0.023273, 0.028038, 0.082251", \
"0.094341, 0.092670, 0.094113, 0.103646, 0.217383", \
"0.179868, 0.175244, 0.173130, 0.174945, 0.311623", \
"0.351607, 0.345183, 0.339617, 0.333200, 0.467646", \
"1.728098, 1.719804, 1.710141, 1.692568, 1.611799"
);
}
rise_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.018975, 0.028562, 0.049415, 0.089237, 0.641577", \
"0.132997, 0.132685, 0.135462, 0.153560, 0.651633", \
"0.243979, 0.244016, 0.242906, 0.252668, 0.698762", \
"0.467681, 0.467640, 0.468098, 0.467574, 0.795527", \
"2.270165, 2.270194, 2.270075, 2.270158, 2.286886"
);
}
fall_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.019197, 0.039255, 0.052110, 0.097009, 0.642401", \
"0.140956, 0.141396, 0.146191, 0.171523, 0.712509", \
"0.262540, 0.262555, 0.262471, 0.273651, 0.778925", \
"0.505956, 0.505722, 0.505888, 0.507033, 0.894213", \
"2.461475, 2.461430, 2.461494, 2.461469, 2.493082"
);
}
}
timing () {
related_pin: "C";
timing_sense: negative_unate;
cell_rise (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.017359, 0.020602, 0.022466, 0.024654, -0.046754", \
"0.096705, 0.096946, 0.098584, 0.106282, 0.121532", \
"0.173777, 0.173577, 0.174431, 0.178939, 0.237315", \
"0.328617, 0.328111, 0.327825, 0.329774, 0.421297", \
"1.568418, 1.567576, 1.565970, 1.563848, 1.593553"
);
}
cell_fall (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.015022, 0.024347, 0.031623, 0.040631, 0.158538", \
"0.099036, 0.097739, 0.100219, 0.111280, 0.279679", \
"0.184670, 0.180259, 0.178658, 0.181740, 0.365006", \
"0.356322, 0.350056, 0.344803, 0.339143, 0.507264", \
"1.732880, 1.724663, 1.714991, 1.697579, 1.627329"
);
}
rise_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.019084, 0.026776, 0.039823, 0.075672, 0.535237", \
"0.131377, 0.131261, 0.132692, 0.145125, 0.516016", \
"0.243564, 0.243531, 0.243534, 0.246588, 0.558890", \
"0.468225, 0.468179, 0.468042, 0.468205, 0.664320", \
"2.270088, 2.270095, 2.270133, 2.270106, 2.272980"
);
}
fall_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.031510, 0.049989, 0.062355, 0.106040, 0.586348", \
"0.151694, 0.152790, 0.156527, 0.182644, 0.731793", \
"0.273221, 0.273269, 0.273901, 0.284371, 0.805125", \
"0.516486, 0.516519, 0.516581, 0.517538, 0.918731", \
"2.472286, 2.472287, 2.472233, 2.472242, 2.503889"
);
}
}
timing () {
related_pin: "B";
timing_sense: negative_unate;
cell_rise (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.022460, 0.023823, 0.028185, 0.032725, 0.048628", \
"0.101758, 0.095743, 0.096537, 0.106002, 0.192478", \
"0.178737, 0.171298, 0.169438, 0.172294, 0.292379", \
"0.333714, 0.324980, 0.319961, 0.316508, 0.454253", \
"1.573522, 1.563797, 1.554566, 1.540634, 1.526335"
);
}
cell_fall (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.009970, 0.022403, 0.029546, 0.034700, 0.068167", \
"0.096913, 0.101219, 0.107825, 0.121609, 0.232622", \
"0.185623, 0.187325, 0.191482, 0.202034, 0.347414", \
"0.363642, 0.363571, 0.365553, 0.371659, 0.531408", \
"1.789848, 1.787982, 1.786798, 1.785978, 1.851027"
);
}
rise_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.027669, 0.035784, 0.054151, 0.092799, 0.482183", \
"0.140384, 0.141035, 0.144045, 0.162603, 0.615320", \
"0.251926, 0.252443, 0.252459, 0.260421, 0.699195", \
"0.477068, 0.477037, 0.476614, 0.476926, 0.805486", \
"2.279001, 2.279001, 2.279030, 2.279108, 2.294719"
);
}
fall_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.026136, 0.039819, 0.039716, 0.074663, 0.449468", \
"0.141886, 0.142241, 0.143245, 0.158332, 0.500963", \
"0.262746, 0.262952, 0.263172, 0.266752, 0.568096", \
"0.505553, 0.505524, 0.505320, 0.505778, 0.700928", \
"2.453307, 2.453357, 2.453377, 2.453355, 2.454709"
);
}
}
timing () {
related_pin: "A";
timing_sense: negative_unate;
cell_rise (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.023283, 0.026391, 0.030097, 0.032328, -0.001253", \
"0.101980, 0.102170, 0.104068, 0.112129, 0.154938", \
"0.179362, 0.178895, 0.179701, 0.184772, 0.265473", \
"0.334131, 0.333374, 0.333035, 0.335245, 0.443256", \
"1.573764, 1.572736, 1.571134, 1.569023, 1.603107"
);
}
cell_fall (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.012521, 0.028199, 0.037706, 0.047850, 0.141476", \
"0.101182, 0.106075, 0.113456, 0.128856, 0.286674", \
"0.190018, 0.192261, 0.196376, 0.207802, 0.390952", \
"0.368057, 0.368351, 0.370519, 0.377256, 0.561629", \
"1.794406, 1.792708, 1.791509, 1.790815, 1.862031"
);
}
rise_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.027862, 0.033354, 0.044936, 0.077255, 0.353604", \
"0.140814, 0.140720, 0.141271, 0.155440, 0.462296", \
"0.251891, 0.251950, 0.252170, 0.254649, 0.552226", \
"0.476737, 0.476901, 0.476974, 0.476945, 0.673929", \
"2.279056, 2.278996, 2.279039, 2.278966, 2.281603"
);
}
fall_transition (delay_template_5x5) {
index_1 (
"0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
);
index_2 (
"0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
);
values (
"0.033370, 0.057996, 0.048428, 0.083327, 0.382049", \
"0.151938, 0.153699, 0.154923, 0.169228, 0.507796", \
"0.273900, 0.273102, 0.273602, 0.276988, 0.582041", \
"0.516030, 0.516117, 0.516125, 0.516348, 0.713735", \
"2.464090, 2.464052, 2.464047, 2.464139, 2.465296"
);
}
}
}
}
}