| 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" |
| ); |
| } |
| } |
| } |
| } |
| } |