| 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 (HAX1) { |
| area: 603504.0; |
| cell_leakage_power: 0.1173; |
| pin (B) { |
| capacitance: 0.009565996302413171; |
| direction: input; |
| fall_capacitance: 0.008432988155991751; |
| rise_capacitance: 0.010699004448834593; |
| } |
| pin (A) { |
| capacitance: 0.012290968093010312; |
| direction: input; |
| fall_capacitance: 0.013216336710577052; |
| rise_capacitance: 0.01136559947544357; |
| } |
| pin (YS) { |
| direction: output; |
| function: "(!(A & B + !A & !B))"; |
| 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.004033, 0.032150, 0.044845, 0.050474, 0.051335", \ |
| "0.055892, 0.068037, 0.080785, 0.093045, 0.114132", \ |
| "0.094044, 0.101015, 0.112537, 0.126712, 0.158920", \ |
| "0.175648, 0.176204, 0.184990, 0.197179, 0.244777", \ |
| "0.873435, 0.863339, 0.864298, 0.866078, 0.855109" |
| ); |
| } |
| 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.017244, 0.032461, 0.048132, 0.062118, 0.137542", \ |
| "0.058835, 0.069633, 0.084719, 0.104232, 0.192012", \ |
| "0.100970, 0.106394, 0.118870, 0.138651, 0.235211", \ |
| "0.187793, 0.189005, 0.197350, 0.213800, 0.316894", \ |
| "0.902163, 0.898308, 0.900032, 0.906364, 0.948955" |
| ); |
| } |
| 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.040974, 0.074951, 0.060349, 0.076555, 0.409013", \ |
| "0.091957, 0.122622, 0.111250, 0.115255, 0.415747", \ |
| "0.154170, 0.166605, 0.165996, 0.172579, 0.465956", \ |
| "0.289870, 0.292343, 0.293138, 0.299508, 0.559512", \ |
| "1.420665, 1.420862, 1.420515, 1.421028, 1.493654" |
| ); |
| } |
| 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.028737, 0.067929, 0.109033, 0.090482, 0.482822", \ |
| "0.100377, 0.125774, 0.164469, 0.180526, 0.509483", \ |
| "0.180975, 0.197032, 0.211922, 0.221778, 0.555289", \ |
| "0.348738, 0.353197, 0.357789, 0.370377, 0.658930", \ |
| "1.725367, 1.725946, 1.725663, 1.725932, 1.793771" |
| ); |
| } |
| } |
| 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.002915, 0.042398, 0.052176, 0.055423, 0.107987", \ |
| "0.062544, 0.079393, 0.088727, 0.101216, 0.163975", \ |
| "0.098867, 0.112677, 0.121587, 0.133731, 0.204781", \ |
| "0.178683, 0.187584, 0.195187, 0.205349, 0.275393", \ |
| "0.873877, 0.874214, 0.876238, 0.875094, 0.864245" |
| ); |
| } |
| 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.018517, 0.033815, 0.052985, 0.063145, 0.108475", \ |
| "0.059426, 0.069693, 0.089732, 0.106611, 0.160828", \ |
| "0.101430, 0.106262, 0.124529, 0.143828, 0.205452", \ |
| "0.188322, 0.188871, 0.203005, 0.222224, 0.292784", \ |
| "0.902655, 0.898231, 0.905344, 0.918863, 0.964905" |
| ); |
| } |
| 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.048575, 0.056963, 0.055452, 0.077660, 0.348951", \ |
| "0.097387, 0.109829, 0.107257, 0.116455, 0.374171", \ |
| "0.157790, 0.160813, 0.162764, 0.173185, 0.415244", \ |
| "0.289541, 0.291335, 0.292385, 0.299387, 0.509268", \ |
| "1.420940, 1.420534, 1.420747, 1.420655, 1.464278" |
| ); |
| } |
| 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.029875, 0.067731, 0.077584, 0.067492, 0.350562", \ |
| "0.099533, 0.125664, 0.168623, 0.123478, 0.376209", \ |
| "0.180545, 0.196321, 0.205234, 0.198481, 0.424205", \ |
| "0.348869, 0.353115, 0.356059, 0.358578, 0.546504", \ |
| "1.725470, 1.725570, 1.725963, 1.725775, 1.781596" |
| ); |
| } |
| } |
| } |
| pin (YC) { |
| direction: output; |
| function: "(A & B)"; |
| timing () { |
| related_pin: "B"; |
| timing_sense: positive_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.002932, 0.031845, 0.046203, 0.059680, 0.206545", \ |
| "0.049948, 0.068231, 0.085039, 0.104520, 0.274220", \ |
| "0.089788, 0.101410, 0.117157, 0.136354, 0.323085", \ |
| "0.173455, 0.176265, 0.188945, 0.205397, 0.412891", \ |
| "0.873808, 0.861079, 0.865149, 0.869380, 0.984923" |
| ); |
| } |
| 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.020712, 0.024396, 0.025178, 0.022025, -0.060067", \ |
| "0.060435, 0.061372, 0.064388, 0.066859, 0.006598", \ |
| "0.103540, 0.102168, 0.102489, 0.103050, 0.053408", \ |
| "0.191891, 0.188927, 0.186482, 0.180921, 0.136742", \ |
| "0.906360, 0.902330, 0.897105, 0.883862, 0.767023" |
| ); |
| } |
| 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.029065, 0.076707, 0.058814, 0.085996, 0.589693", \ |
| "0.084308, 0.124052, 0.114916, 0.121842, 0.582858", \ |
| "0.150913, 0.169854, 0.170202, 0.177980, 0.592114", \ |
| "0.289080, 0.293361, 0.294671, 0.299955, 0.642962", \ |
| "1.420626, 1.420601, 1.420595, 1.420438, 1.521560" |
| ); |
| } |
| 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.023168, 0.037493, 0.061782, 0.104667, 0.614021", \ |
| "0.093949, 0.101336, 0.115157, 0.147186, 0.632991", \ |
| "0.178031, 0.179618, 0.188053, 0.212969, 0.683615", \ |
| "0.349299, 0.349430, 0.351228, 0.362707, 0.786505", \ |
| "1.724877, 1.725713, 1.726013, 1.726067, 1.845083" |
| ); |
| } |
| } |
| timing () { |
| related_pin: "A"; |
| timing_sense: positive_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.002877, 0.029610, 0.051114, 0.071379, 0.191002", \ |
| "0.048630, 0.065299, 0.090272, 0.109498, 0.261067", \ |
| "0.088953, 0.098443, 0.122749, 0.144721, 0.312452", \ |
| "0.173170, 0.173273, 0.195093, 0.217717, 0.411821", \ |
| "0.874061, 0.858051, 0.871543, 0.889533, 1.026567" |
| ); |
| } |
| 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.022256, 0.026455, 0.029553, 0.031901, -0.015917", \ |
| "0.062541, 0.063639, 0.067746, 0.071999, 0.041159", \ |
| "0.104940, 0.104109, 0.105543, 0.107246, 0.080735", \ |
| "0.192752, 0.190680, 0.189057, 0.184951, 0.147242", \ |
| "0.907257, 0.903593, 0.899162, 0.887044, 0.752494" |
| ); |
| } |
| 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.026048, 0.073817, 0.050978, 0.065940, 0.443696", \ |
| "0.083033, 0.121825, 0.103425, 0.102000, 0.436305", \ |
| "0.150571, 0.172361, 0.163617, 0.164690, 0.449813", \ |
| "0.288981, 0.293984, 0.293415, 0.294741, 0.517577", \ |
| "1.420646, 1.420437, 1.420500, 1.420898, 1.486892" |
| ); |
| } |
| 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.025591, 0.040492, 0.065936, 0.108105, 0.550325", \ |
| "0.095286, 0.101971, 0.117506, 0.150589, 0.584408", \ |
| "0.179426, 0.180898, 0.189227, 0.214201, 0.625356", \ |
| "0.348855, 0.349403, 0.351841, 0.363528, 0.724101", \ |
| "1.724988, 1.724959, 1.726109, 1.725779, 1.806215" |
| ); |
| } |
| } |
| } |
| } |
| } |