blob: 12ed5fcb8a936789793d2aa98892615b003fe199 [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 (AOI22X1) {
area: 274320.0;
cell_leakage_power: 0.1173;
pin (D) {
capacitance: 0.0020974613531819556;
direction: input;
fall_capacitance: 4.4104117800871274e-05;
rise_capacitance: 0.004150818588563039;
}
pin (C) {
capacitance: 0.004812606268016478;
direction: input;
fall_capacitance: 0.004689865191387634;
rise_capacitance: 0.0049353473446453215;
}
pin (B) {
capacitance: 0.004946165373579888;
direction: input;
fall_capacitance: 0.005741463237564304;
rise_capacitance: 0.0041508675095954725;
}
pin (A) {
capacitance: 0.006371776083769734;
direction: input;
fall_capacitance: 0.007808127096433607;
rise_capacitance: 0.004935425071105862;
}
pin (Y) {
direction: output;
function: "(!(A & B & C & D + A & B & C & !D + A & B & D & !C + A & C & D & !B + B & C & D & !A + A & B & !C & !D + C & D & !A & !B))";
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.016935, 0.014883, 0.015703, 0.012454, -0.033501", \
"0.090542, 0.082772, 0.082614, 0.090524, 0.114504", \
"0.162325, 0.152911, 0.149501, 0.151692, 0.215638", \
"0.305626, 0.294845, 0.288283, 0.283584, 0.379358", \
"1.452827, 1.441115, 1.430562, 1.414232, 1.385088"
);
}
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.011131, 0.018803, 0.024733, 0.032496, 0.108096", \
"0.102250, 0.099676, 0.101552, 0.112143, 0.253101", \
"0.196075, 0.190340, 0.188422, 0.190760, 0.352663", \
"0.384766, 0.377069, 0.371270, 0.364996, 0.516099", \
"1.896343, 1.886398, 1.876274, 1.858129, 1.777799"
);
}
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.016765, 0.027275, 0.049942, 0.091821, 0.629255", \
"0.121167, 0.122670, 0.127043, 0.150833, 0.656506", \
"0.224824, 0.225478, 0.225444, 0.237122, 0.716205", \
"0.433527, 0.433720, 0.433798, 0.434581, 0.814040", \
"2.108310, 2.108361, 2.108226, 2.108327, 2.151506"
);
}
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.019540, 0.037485, 0.048144, 0.090862, 0.624895", \
"0.148113, 0.148658, 0.152486, 0.173373, 0.676277", \
"0.277916, 0.277395, 0.278530, 0.285802, 0.738740", \
"0.538822, 0.539108, 0.538745, 0.539142, 0.865875", \
"2.631103, 2.631167, 2.631060, 2.631158, 2.638378"
);
}
}
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.020369, 0.018428, 0.021368, 0.020061, 0.016757", \
"0.092490, 0.085158, 0.085310, 0.094546, 0.156465", \
"0.164627, 0.154984, 0.151976, 0.154901, 0.251955", \
"0.307751, 0.296984, 0.290533, 0.286397, 0.406843", \
"1.454952, 1.443103, 1.432571, 1.416364, 1.394708"
);
}
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.010498, 0.021560, 0.028514, 0.037495, 0.082368", \
"0.101825, 0.105130, 0.112161, 0.127308, 0.261185", \
"0.195561, 0.196794, 0.201635, 0.213814, 0.379961", \
"0.384369, 0.383935, 0.386589, 0.394605, 0.568320", \
"1.895945, 1.893647, 1.893375, 1.894401, 1.975233"
);
}
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.021236, 0.031459, 0.054625, 0.095131, 0.470508", \
"0.126934, 0.126375, 0.131675, 0.156729, 0.627474", \
"0.229762, 0.229630, 0.230077, 0.241674, 0.716118", \
"0.438091, 0.438482, 0.438252, 0.439405, 0.825499", \
"2.112964, 2.112929, 2.112863, 2.112978, 2.155164"
);
}
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.021627, 0.035591, 0.035070, 0.070098, 0.433450", \
"0.147776, 0.149177, 0.150009, 0.161817, 0.458917", \
"0.277709, 0.277366, 0.277596, 0.280531, 0.527096", \
"0.539065, 0.539093, 0.539109, 0.538946, 0.684263", \
"2.631099, 2.631149, 2.631170, 2.631100, 2.631114"
);
}
}
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.019809, 0.021467, 0.022993, 0.023258, -0.058701", \
"0.092131, 0.092348, 0.095145, 0.101841, 0.098557", \
"0.164877, 0.164124, 0.165065, 0.169626, 0.210368", \
"0.308029, 0.307392, 0.307470, 0.309169, 0.390164", \
"1.457169, 1.456286, 1.455144, 1.453124, 1.488193"
);
}
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.013313, 0.029532, 0.038717, 0.047945, 0.188158", \
"0.107990, 0.110195, 0.113203, 0.124738, 0.313534", \
"0.202371, 0.200606, 0.199392, 0.203099, 0.404174", \
"0.391167, 0.386925, 0.382011, 0.376561, 0.554823", \
"1.902931, 1.895987, 1.886227, 1.868549, 1.797821"
);
}
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.019429, 0.026568, 0.042468, 0.080756, 0.516753", \
"0.124108, 0.123505, 0.123820, 0.139390, 0.517896", \
"0.226304, 0.226453, 0.226121, 0.229413, 0.571103", \
"0.432605, 0.432992, 0.433334, 0.433130, 0.669772", \
"2.096546, 2.096500, 2.096504, 2.096401, 2.104903"
);
}
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.036963, 0.064663, 0.063261, 0.104268, 0.557323", \
"0.169060, 0.168178, 0.170874, 0.190953, 0.690517", \
"0.298594, 0.298892, 0.298450, 0.305039, 0.761400", \
"0.559542, 0.559072, 0.559520, 0.559454, 0.890958", \
"2.651812, 2.651739, 2.651820, 2.651765, 2.658183"
);
}
}
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.022678, 0.024602, 0.027657, 0.027746, -0.014253", \
"0.094425, 0.094825, 0.097714, 0.105256, 0.133288", \
"0.166876, 0.166299, 0.167299, 0.172465, 0.239654", \
"0.310022, 0.309359, 0.309537, 0.311595, 0.412132", \
"1.459221, 1.458255, 1.457052, 1.455130, 1.495355"
);
}
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.010762, 0.031615, 0.042726, 0.054379, 0.162255", \
"0.107178, 0.114877, 0.123673, 0.140333, 0.314762", \
"0.201740, 0.206695, 0.212432, 0.225560, 0.423426", \
"0.390675, 0.393589, 0.396909, 0.405745, 0.599731", \
"1.902538, 1.903226, 1.903241, 1.904537, 1.991568"
);
}
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.023953, 0.030647, 0.045679, 0.081384, 0.352989", \
"0.128243, 0.127626, 0.127724, 0.144629, 0.476733", \
"0.230700, 0.231079, 0.230551, 0.233540, 0.563234", \
"0.437513, 0.437483, 0.437930, 0.437603, 0.677229", \
"2.101139, 2.101103, 2.101049, 2.100995, 2.109091"
);
}
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.035078, 0.066496, 0.049387, 0.080483, 0.340869", \
"0.168775, 0.168226, 0.168846, 0.179604, 0.463584", \
"0.298761, 0.298598, 0.298932, 0.300297, 0.541365", \
"0.559293, 0.559471, 0.559155, 0.559533, 0.704149", \
"2.651791, 2.651807, 2.651756, 2.651826, 2.651827"
);
}
}
}
}
}