blob: 90b0b93e89ae592c31b7bd937c2439e89552d7d1 [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 (XNOR2X1) {
area: 1.0;
cell_leakage_power: 0.1173;
pin (B) {
capacitance: 0.013514822660098;
direction: input;
fall_capacitance: 0.01444352653236194;
rise_capacitance: 0.012586118787834062;
}
pin (A) {
capacitance: 0.01216821188263561;
direction: input;
fall_capacitance: 0.01160051626672843;
rise_capacitance: 0.01273590749854279;
}
pin (Y) {
direction: output;
function: "(!(A & !B + B & !A))";
timing () {
related_pin: "B";
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.016692, 0.026466, 0.032210, 0.035327, 0.047236", \
"0.091623, 0.096157, 0.101268, 0.112236, 0.182896", \
"0.168714, 0.171487, 0.175299, 0.184006, 0.283106", \
"0.323178, 0.324836, 0.326819, 0.332014, 0.455088", \
"1.562758, 1.563072, 1.562761, 1.562230, 1.609484"
);
}
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.026885, 0.032485, 0.038933, 0.047083, 0.088356", \
"0.117931, 0.120641, 0.124872, 0.135278, 0.246294", \
"0.211363, 0.213025, 0.215480, 0.223412, 0.363623", \
"0.399691, 0.400466, 0.401437, 0.406163, 0.555052", \
"1.911060, 1.910782, 1.909790, 1.909219, 1.963747"
);
}
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.025286, 0.030976, 0.039578, 0.069148, 0.271887", \
"0.132863, 0.133148, 0.134699, 0.146335, 0.398431", \
"0.245392, 0.244781, 0.245027, 0.248852, 0.500046", \
"0.469752, 0.469734, 0.469539, 0.469707, 0.636982", \
"2.271914, 2.271860, 2.271907, 2.271883, 2.273532"
);
}
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.028424, 0.032113, 0.039714, 0.069558, 0.259508", \
"0.158149, 0.158097, 0.158297, 0.165758, 0.432914", \
"0.288248, 0.287926, 0.287602, 0.288201, 0.539323", \
"0.548453, 0.548729, 0.548771, 0.548859, 0.704675", \
"2.640916, 2.640957, 2.640961, 2.640975, 2.640935"
);
}
}
timing () {
related_pin: "A";
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.013989, 0.017922, 0.023819, 0.023910, 0.045077", \
"0.087124, 0.084574, 0.088506, 0.101490, 0.176795", \
"0.164482, 0.158794, 0.159586, 0.166358, 0.271935", \
"0.318605, 0.311099, 0.308187, 0.308499, 0.436242", \
"1.557737, 1.548082, 1.540255, 1.529227, 1.518552"
);
}
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.013397, 0.017881, 0.023473, 0.028401, 0.048333", \
"0.105060, 0.099768, 0.099684, 0.107137, 0.189063", \
"0.198273, 0.190917, 0.187291, 0.187394, 0.294003", \
"0.386416, 0.377286, 0.370618, 0.362674, 0.471656", \
"1.897499, 1.886493, 1.875774, 1.856923, 1.754103"
);
}
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.024118, 0.038502, 0.063416, 0.087635, 0.566949", \
"0.133840, 0.133055, 0.136674, 0.159516, 0.603141", \
"0.245168, 0.244344, 0.245288, 0.252595, 0.662450", \
"0.469128, 0.469774, 0.469389, 0.469661, 0.759403", \
"2.272025, 2.271869, 2.271945, 2.272010, 2.283692"
);
}
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.025980, 0.033978, 0.052062, 0.093692, 0.572048", \
"0.158104, 0.158727, 0.159581, 0.178242, 0.640536", \
"0.287711, 0.288211, 0.287992, 0.293228, 0.713557", \
"0.548627, 0.548574, 0.548857, 0.548865, 0.845995", \
"2.640933, 2.640942, 2.640979, 2.640983, 2.646792"
);
}
}
}
}
}