blob: 8e6ba757bfb903934d10e9b6c61f033884174e9d [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 (MUX2X1) {
area: 1.0;
cell_leakage_power: 0.1173;
pin (S) {
capacitance: 0.009256673995156848;
direction: input;
fall_capacitance: 0.008174605299069488;
rise_capacitance: 0.01033874269124421;
}
pin (B) {
capacitance: 0.007621740826129985;
direction: input;
fall_capacitance: 0.008845710726223829;
rise_capacitance: 0.0063977709260361415;
}
pin (A) {
capacitance: 0.006381443680226534;
direction: input;
fall_capacitance: 0.007825475707159937;
rise_capacitance: 0.00493741165329313;
}
pin (Y) {
direction: output;
function: "(!(A & B & S + A & B & !S + A & S & !B + B & !A & !S))";
timing () {
related_pin: "S";
timing_sense: non_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.015477, 0.019600, 0.024190, 0.025747, 0.046287", \
"0.090314, 0.087100, 0.090495, 0.101960, 0.176908", \
"0.167236, 0.162506, 0.162337, 0.167647, 0.271944", \
"0.321537, 0.315074, 0.311756, 0.311149, 0.436391", \
"1.560714, 1.552503, 1.545002, 1.533689, 1.520599"
);
}
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.009379, 0.017036, 0.023092, 0.027221, 0.047575", \
"0.098648, 0.096570, 0.098493, 0.106357, 0.189094", \
"0.192045, 0.187310, 0.185345, 0.186620, 0.293971", \
"0.380085, 0.373558, 0.368111, 0.361746, 0.471469", \
"1.891180, 1.882519, 1.872679, 1.854529, 1.753166"
);
}
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.025354, 0.032783, 0.050461, 0.087201, 0.566081", \
"0.133109, 0.134458, 0.135941, 0.157612, 0.603315", \
"0.244639, 0.245101, 0.245522, 0.253219, 0.662135", \
"0.469661, 0.469241, 0.469216, 0.469325, 0.758422", \
"2.271840, 2.271929, 2.271941, 2.271927, 2.283161"
);
}
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.022515, 0.036555, 0.054175, 0.094241, 0.572428", \
"0.157940, 0.158368, 0.159664, 0.178650, 0.640716", \
"0.288080, 0.288326, 0.288348, 0.292800, 0.713717", \
"0.548431, 0.548597, 0.548599, 0.548675, 0.846377", \
"2.640854, 2.640882, 2.640837, 2.640903, 2.646773"
);
}
}
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.012479, 0.020703, 0.023751, 0.026480, -0.020258", \
"0.088791, 0.092407, 0.096269, 0.106017, 0.140677", \
"0.166519, 0.167928, 0.170594, 0.176829, 0.252652", \
"0.321088, 0.321765, 0.322714, 0.325872, 0.431855", \
"1.560825, 1.560508, 1.559318, 1.557534, 1.590909"
);
}
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.024075, 0.029303, 0.036113, 0.042909, 0.139365", \
"0.116212, 0.118239, 0.123057, 0.135164, 0.298599", \
"0.209808, 0.210879, 0.213787, 0.223211, 0.408707", \
"0.398464, 0.398636, 0.399777, 0.405563, 0.586820", \
"1.910071, 1.909315, 1.908318, 1.908149, 1.983973"
);
}
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.021856, 0.029483, 0.041747, 0.075580, 0.318538", \
"0.133491, 0.132145, 0.135514, 0.149421, 0.455212", \
"0.245429, 0.244447, 0.244614, 0.249182, 0.551752", \
"0.469502, 0.469644, 0.469460, 0.469734, 0.678108", \
"2.271768, 2.271699, 2.271790, 2.271724, 2.274762"
);
}
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.026927, 0.031637, 0.041603, 0.073132, 0.327601", \
"0.157522, 0.158503, 0.158749, 0.168029, 0.467796", \
"0.288182, 0.288023, 0.288247, 0.289518, 0.550457", \
"0.548628, 0.548713, 0.548726, 0.548715, 0.704382", \
"2.641050, 2.641120, 2.641079, 2.641124, 2.641113"
);
}
}
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.019428, 0.021891, 0.024080, 0.024293, -0.020282", \
"0.097729, 0.098072, 0.099347, 0.107474, 0.140891", \
"0.174738, 0.174194, 0.175185, 0.179883, 0.252844", \
"0.329664, 0.328818, 0.328461, 0.330406, 0.432450", \
"1.569311, 1.568266, 1.566635, 1.564341, 1.594321"
);
}
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.015958, 0.028273, 0.035331, 0.042097, 0.139507", \
"0.109992, 0.113793, 0.120225, 0.134598, 0.298772", \
"0.203874, 0.205671, 0.209819, 0.221705, 0.408455", \
"0.392495, 0.393164, 0.395366, 0.402419, 0.586497", \
"1.904233, 1.903472, 1.903098, 1.903613, 1.981673"
);
}
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.020684, 0.027469, 0.040684, 0.075372, 0.321139", \
"0.131690, 0.132092, 0.134409, 0.147611, 0.454546", \
"0.244572, 0.244857, 0.245585, 0.248273, 0.551845", \
"0.469953, 0.470028, 0.469684, 0.470070, 0.677392", \
"2.272005, 2.271976, 2.272124, 2.272035, 2.274938"
);
}
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.034906, 0.034011, 0.041604, 0.074407, 0.329883", \
"0.157071, 0.157736, 0.156957, 0.168367, 0.468419", \
"0.288086, 0.287766, 0.287721, 0.290181, 0.550707", \
"0.548081, 0.548418, 0.548486, 0.548470, 0.704390", \
"2.640667, 2.640718, 2.640731, 2.640752, 2.640649"
);
}
}
}
}
}