blob: 753b07eeb6477f94afffcfb3e45b7727c6b9b1c4 [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 (NOR3X1) {
area: 1.0;
cell_leakage_power: 0.1173;
pin (C) {
capacitance: 0.008851268942232223;
direction: input;
fall_capacitance: 0.007192740516108539;
rise_capacitance: 0.01050979736835591;
}
pin (B) {
capacitance: 0.008467308012434688;
direction: input;
fall_capacitance: 0.006491035832102533;
rise_capacitance: 0.010443580192766843;
}
pin (A) {
capacitance: 0.011319336983488502;
direction: input;
fall_capacitance: 0.012153813915844755;
rise_capacitance: 0.010484860051132246;
}
pin (Y) {
direction: output;
function: "(!A & !B & !C)";
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.019861, 0.013951, 0.010393, 0.010614, -0.095224", \
"0.073806, 0.065433, 0.065471, 0.070741, 0.031362", \
"0.126961, 0.116836, 0.114849, 0.117995, 0.121232", \
"0.229374, 0.218604, 0.214181, 0.213278, 0.265478", \
"1.052068, 1.040930, 1.032640, 1.022067, 1.050983"
);
}
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.007431, 0.014436, 0.021041, 0.026061, 0.147747", \
"0.048089, 0.051199, 0.058718, 0.073619, 0.235306", \
"0.092679, 0.092234, 0.095807, 0.109560, 0.295852", \
"0.181227, 0.178365, 0.178683, 0.184095, 0.391655", \
"0.896652, 0.891924, 0.887935, 0.881387, 0.953533"
);
}
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.017662, 0.024101, 0.048536, 0.089682, 0.758844", \
"0.096073, 0.094132, 0.101399, 0.124739, 0.723967", \
"0.170991, 0.170809, 0.171462, 0.183197, 0.697268", \
"0.322446, 0.322746, 0.321943, 0.324630, 0.702708", \
"1.546214, 1.546427, 1.546374, 1.546212, 1.604669"
);
}
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.016377, 0.048611, 0.062895, 0.114022, 0.768870", \
"0.097096, 0.107288, 0.124463, 0.164913, 0.849231", \
"0.182999, 0.185111, 0.195260, 0.230117, 0.915649", \
"0.353304, 0.352681, 0.357067, 0.377842, 1.011080", \
"1.730018, 1.729723, 1.730358, 1.730359, 2.006705"
);
}
}
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.021404, 0.018148, 0.016999, 0.012352, -0.116477", \
"0.073113, 0.069999, 0.071591, 0.077030, 0.012719", \
"0.125310, 0.121160, 0.121831, 0.125821, 0.106267", \
"0.228280, 0.223844, 0.223033, 0.224372, 0.254111", \
"1.050975, 1.046727, 1.044059, 1.040846, 1.071937"
);
}
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.009259, 0.023322, 0.030630, 0.037613, 0.214445", \
"0.054518, 0.059015, 0.066642, 0.084249, 0.290662", \
"0.099361, 0.100171, 0.103972, 0.118556, 0.346076", \
"0.188116, 0.185793, 0.186314, 0.192750, 0.434451", \
"0.903486, 0.899552, 0.895434, 0.889058, 0.974970"
);
}
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.018177, 0.025953, 0.042317, 0.080707, 0.708600", \
"0.095725, 0.094902, 0.100379, 0.117184, 0.657595", \
"0.169936, 0.168818, 0.169550, 0.178176, 0.623126", \
"0.322532, 0.321898, 0.322594, 0.323057, 0.620469", \
"1.546325, 1.546425, 1.546433, 1.546433, 1.575338"
);
}
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.027725, 0.061597, 0.100203, 0.128616, 0.760467", \
"0.111045, 0.120997, 0.139653, 0.183957, 0.880925", \
"0.197036, 0.200197, 0.212478, 0.247249, 0.949581", \
"0.368936, 0.368337, 0.372047, 0.394425, 1.042426", \
"1.745637, 1.745218, 1.745426, 1.745645, 2.034164"
);
}
}
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.021535, 0.020687, 0.018209, 0.011098, -0.159177", \
"0.073633, 0.071954, 0.071241, 0.072771, -0.039713", \
"0.126395, 0.123666, 0.122260, 0.121428, 0.047912", \
"0.228694, 0.226313, 0.223648, 0.220474, 0.190997", \
"1.051376, 1.049091, 1.044628, 1.037782, 1.009584"
);
}
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.006124, 0.029256, 0.038292, 0.053214, 0.282467", \
"0.059066, 0.066388, 0.074590, 0.095077, 0.348409", \
"0.104913, 0.107511, 0.112061, 0.127680, 0.398783", \
"0.193938, 0.193305, 0.193982, 0.201534, 0.479599", \
"0.910076, 0.906960, 0.902862, 0.896691, 0.998792"
);
}
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.018579, 0.025146, 0.039182, 0.078947, 0.732260", \
"0.095594, 0.095225, 0.095216, 0.111960, 0.683970", \
"0.171029, 0.169347, 0.171096, 0.178076, 0.654431", \
"0.322754, 0.321497, 0.322026, 0.323327, 0.642474", \
"1.546326, 1.546372, 1.546374, 1.546417, 1.579783"
);
}
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.032924, 0.073273, 0.111837, 0.141861, 0.820044", \
"0.127458, 0.138303, 0.154962, 0.200434, 0.924242", \
"0.212672, 0.215586, 0.228733, 0.265521, 0.987165", \
"0.383595, 0.383606, 0.388604, 0.411154, 1.077362", \
"1.760289, 1.760204, 1.760698, 1.760729, 2.064944"
);
}
}
}
}
}