| 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 (AOI21X1) { |
| area: 219456.0; |
| cell_leakage_power: 0.1173; |
| pin (C) { |
| capacitance: 0.006189667947317773; |
| direction: input; |
| fall_capacitance: 0.00608282711442158; |
| rise_capacitance: 0.006296508780213967; |
| } |
| pin (B) { |
| capacitance: 0.004946001600705809; |
| direction: input; |
| fall_capacitance: 0.005741143923488236; |
| rise_capacitance: 0.004150859277923382; |
| } |
| pin (A) { |
| capacitance: 0.0063768651510662175; |
| direction: input; |
| fall_capacitance: 0.007818310946312182; |
| rise_capacitance: 0.0049354193558202525; |
| } |
| pin (Y) { |
| direction: output; |
| function: "((A & !B & !C + B & !A & !C + !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.012884, 0.013814, 0.016718, 0.021870, 0.028833", \ |
| "0.086107, 0.080864, 0.082497, 0.093433, 0.172718", \ |
| "0.157907, 0.150075, 0.149039, 0.154342, 0.270928", \ |
| "0.301166, 0.291665, 0.287163, 0.285601, 0.427419", \ |
| "1.448480, 1.437527, 1.428051, 1.413899, 1.417674" |
| ); |
| } |
| 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.005708, 0.008603, 0.010605, 0.008342, 0.014912", \ |
| "0.046767, 0.047758, 0.052811, 0.059897, 0.111616", \ |
| "0.091313, 0.089826, 0.091015, 0.099539, 0.178409", \ |
| "0.180111, 0.176982, 0.175277, 0.175888, 0.287227", \ |
| "0.895506, 0.891449, 0.886851, 0.878783, 0.902515" |
| ); |
| } |
| 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.012972, 0.024876, 0.045576, 0.092382, 0.730301", \ |
| "0.117670, 0.118582, 0.124112, 0.144342, 0.702744", \ |
| "0.221586, 0.221908, 0.222072, 0.232193, 0.694310", \ |
| "0.430244, 0.430091, 0.430239, 0.430802, 0.761045", \ |
| "2.104719, 2.104806, 2.104636, 2.104737, 2.138480" |
| ); |
| } |
| 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.013144, 0.040328, 0.065020, 0.111186, 0.739334", \ |
| "0.095171, 0.101388, 0.116357, 0.159575, 0.811404", \ |
| "0.180158, 0.181007, 0.191810, 0.223783, 0.880144", \ |
| "0.350588, 0.350580, 0.354001, 0.371311, 0.983014", \ |
| "1.727889, 1.727581, 1.728170, 1.727705, 1.982896" |
| ); |
| } |
| } |
| 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.015335, 0.016982, 0.017673, 0.018219, -0.069608", \ |
| "0.094019, 0.093932, 0.095770, 0.102779, 0.105301", \ |
| "0.171502, 0.171151, 0.171863, 0.175258, 0.222703", \ |
| "0.326268, 0.325524, 0.325280, 0.326346, 0.409421", \ |
| "1.565887, 1.565044, 1.563580, 1.561246, 1.585994" |
| ); |
| } |
| 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.013287, 0.024880, 0.031685, 0.037498, 0.167659", \ |
| "0.107124, 0.105845, 0.107193, 0.117896, 0.299712", \ |
| "0.201357, 0.197038, 0.194436, 0.196480, 0.391707", \ |
| "0.390085, 0.383995, 0.377751, 0.370715, 0.543155", \ |
| "1.901754, 1.893671, 1.883505, 1.864991, 1.785557" |
| ); |
| } |
| 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.013701, 0.021239, 0.037128, 0.074532, 0.517052", \ |
| "0.124145, 0.126554, 0.127481, 0.138597, 0.502699", \ |
| "0.236289, 0.237521, 0.237587, 0.239899, 0.557716", \ |
| "0.461681, 0.461011, 0.461333, 0.461741, 0.666948", \ |
| "2.263739, 2.263875, 2.263871, 2.263837, 2.266936" |
| ); |
| } |
| 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.030160, 0.038814, 0.058225, 0.102917, 0.553894", \ |
| "0.158458, 0.157631, 0.161617, 0.182586, 0.706485", \ |
| "0.287898, 0.286716, 0.287445, 0.295747, 0.780606", \ |
| "0.548485, 0.548526, 0.548522, 0.548250, 0.902420", \ |
| "2.640741, 2.640742, 2.640727, 2.640745, 2.647561" |
| ); |
| } |
| } |
| 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.018081, 0.020472, 0.022446, 0.023825, -0.023691", \ |
| "0.096239, 0.096537, 0.098721, 0.106326, 0.139254", \ |
| "0.173813, 0.173358, 0.174228, 0.178403, 0.251687", \ |
| "0.328514, 0.327676, 0.327494, 0.329061, 0.431351", \ |
| "1.568114, 1.567133, 1.565660, 1.563413, 1.593357" |
| ); |
| } |
| 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.011083, 0.026784, 0.035062, 0.040835, 0.137110", \ |
| "0.106329, 0.111405, 0.118093, 0.132531, 0.298206", \ |
| "0.200961, 0.203504, 0.207727, 0.219147, 0.408186", \ |
| "0.389721, 0.390740, 0.393162, 0.400718, 0.586451", \ |
| "1.901421, 1.900917, 1.900632, 1.901495, 1.980436" |
| ); |
| } |
| 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.017574, 0.025241, 0.039240, 0.074436, 0.320255", \ |
| "0.130209, 0.130934, 0.131571, 0.144964, 0.452202", \ |
| "0.240805, 0.242496, 0.242369, 0.244406, 0.548288", \ |
| "0.466498, 0.466251, 0.466522, 0.466774, 0.675363", \ |
| "2.268774, 2.268830, 2.268824, 2.268768, 2.271727" |
| ); |
| } |
| 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.029014, 0.034924, 0.042010, 0.073728, 0.327469", \ |
| "0.158673, 0.158762, 0.158147, 0.170170, 0.467645", \ |
| "0.287787, 0.287911, 0.287075, 0.288882, 0.551159", \ |
| "0.548458, 0.548226, 0.548509, 0.548657, 0.704977", \ |
| "2.640715, 2.640671, 2.640748, 2.640738, 2.640639" |
| ); |
| } |
| } |
| } |
| } |
| } |