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