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 (XNOR2X1) { area: 206080.0; cell_leakage_power: 0.1173; pin (B) { capacitance: 0.007869572376285055; direction: input; fall_capacitance: 0.00787170816777918; rise_capacitance: 0.007867436584790931; } pin (A) { capacitance: 0.006181892203766934; direction: input; fall_capacitance: 0.006286246429833927; rise_capacitance: 0.006077537977699941; } pin (Y) { direction: output; function: "!(B&!A|!B&A)"; timing () { related_pin: "B"; timing_sense: non_unate; cell_rise (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.216615, 0.255249, 0.335937, 0.462500, 0.520313, 0.565625", \ "0.777736, 0.782028, 0.837500, 1.065625, 1.179688, 1.273438", \ "1.527774, 1.518945, 1.546875, 1.720781, 1.847266, 1.981250", \ "2.840291, 2.822515, 2.825000, 2.928125, 3.018750, 3.126562", \ "3.780926, 3.758589, 3.751563, 3.818750, 3.890625, 3.982812", \ "5.659064, 5.632141, 5.609375, 5.634375, 5.681250, 5.743750" ); } cell_fall (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.141297, 0.176563, 0.201562, 0.210938, 0.210938, 0.204688", \ "0.483116, 0.506250, 0.566094, 0.681250, 0.709375, 0.725000", \ "0.935771, 0.954688, 1.003125, 1.171875, 1.251563, 1.303125", \ "1.729021, 1.750000, 1.787500, 1.925000, 2.017188, 2.118750", \ "2.303892, 2.307813, 2.350000, 2.476562, 2.557813, 2.650000", \ "3.431826, 3.451562, 3.482812, 3.590625, 3.660938, 3.739063" ); } rise_transition (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.301313, 0.323519, 0.432031, 0.843750, 1.059375, 1.275000", \ "1.118750, 1.120547, 1.139063, 1.348906, 1.528125, 1.746875", \ "2.212500, 2.209375, 2.210469, 2.298437, 2.406250, 2.534375", \ "4.121875, 4.121875, 4.121875, 4.126562, 4.164063, 4.234375", \ "5.487500, 5.487500, 5.487500, 5.489062, 5.495312, 5.528125", \ "8.218750, 8.218750, 8.218750, 8.218750, 8.218750, 8.219531" ); } fall_transition (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.177720, 0.238125, 0.437500, 0.945313, 1.215625, 1.478125", \ "0.646864, 0.647852, 0.729688, 1.185938, 1.476563, 1.762500", \ "1.278125, 1.276953, 1.290625, 1.568750, 1.804687, 2.075000", \ "2.381250, 2.381250, 2.381094, 2.478125, 2.623437, 2.807812", \ "3.170313, 3.168750, 3.171875, 3.201562, 3.298438, 3.440625", \ "4.746875, 4.746875, 4.746875, 4.748281, 4.768750, 4.834375" ); } } timing () { related_pin: "A"; timing_sense: non_unate; cell_rise (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.198661, 0.238874, 0.325000, 0.464063, 0.525000, 0.578125", \ "0.751696, 0.739750, 0.796875, 1.043750, 1.162500, 1.262500", \ "1.500349, 1.465688, 1.475000, 1.656836, 1.798594, 1.940625", \ "2.813049, 2.758763, 2.725000, 2.800000, 2.895312, 3.010937", \ "3.752184, 3.693634, 3.639063, 3.659375, 3.725000, 3.818750", \ "5.630379, 5.564431, 5.484375, 5.431250, 5.453125, 5.504687" ); } cell_fall (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.119260, 0.143750, 0.154687, 0.148438, 0.143750, 0.131250", \ "0.455345, 0.435938, 0.485937, 0.550000, 0.560938, 0.564063", \ "0.908764, 0.868750, 0.867188, 1.003125, 1.046875, 1.070313", \ "1.699465, 1.653125, 1.606250, 1.662656, 1.746875, 1.831250", \ "2.272986, 2.210938, 2.153125, 2.148437, 2.210469, 2.295117", \ "3.404215, 3.351562, 3.270312, 3.175000, 3.195313, 3.240625" ); } rise_transition (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.301159, 0.338560, 0.480469, 0.989063, 1.300000, 1.620313", \ "1.120312, 1.118594, 1.159375, 1.468594, 1.687500, 1.934375", \ "2.210938, 2.212500, 2.212695, 2.381250, 2.545312, 2.726562", \ "4.121875, 4.121875, 4.121875, 4.146875, 4.232813, 4.357812", \ "5.487500, 5.487500, 5.487500, 5.487500, 5.520312, 5.600000", \ "8.218750, 8.218750, 8.218750, 8.218750, 8.218750, 8.228125" ); } fall_transition (delay_template_6x6) { index_1 ( "0.100000, 0.500000, 1.200000, 3.000000, 4.000000, 5.000000" ); index_2 ( "0.060000, 0.240000, 0.480000, 0.900000, 1.200000, 1.800000" ); values ( "0.176166, 0.285586, 0.559375, 1.195313, 1.535938, 1.873438", \ "0.646209, 0.662500, 0.823438, 1.507813, 1.900000, 2.271875", \ "1.278125, 1.276250, 1.337500, 1.825000, 2.195469, 2.595313", \ "2.381250, 2.381250, 2.384961, 2.650000, 2.907812, 3.201562", \ "3.168750, 3.168750, 3.172031, 3.325000, 3.531250, 3.779687", \ "4.748437, 4.746875, 4.745312, 4.779687, 4.896875, 5.076562" ); } } } } }