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 (NOR2X1) {
    area: 1.0;
    cell_leakage_power: 0.1173;
    pin (B) {
      capacitance: 0.006303448359239213;
      direction: input;
      fall_capacitance: 0.006299461029458945;
      rise_capacitance: 0.0063074356890194805;
    }
    pin (A) {
      capacitance: 0.007595806558045583;
      direction: input;
      fall_capacitance: 0.008891411713164614;
      rise_capacitance: 0.0063002014029265516;
    }
    pin (Y) {
      direction: output;
      function: "(!A & !B)";
      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.011806, 0.013869, 0.017728, 0.018913, 0.043152", \
            "0.090701, 0.085913, 0.088689, 0.100157, 0.196930", \
            "0.168953, 0.162029, 0.161187, 0.166322, 0.300875", \
            "0.323595, 0.315317, 0.311154, 0.310040, 0.465699", \
            "1.563273, 1.553700, 1.544833, 1.531939, 1.541900"
          );
        }
        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.005936, 0.007846, 0.008974, 0.004744, -0.003026", \
            "0.046711, 0.047264, 0.052185, 0.058295, 0.096068", \
            "0.091147, 0.089514, 0.090542, 0.098390, 0.165025", \
            "0.180055, 0.176882, 0.175000, 0.175107, 0.275546", \
            "0.895253, 0.891498, 0.886774, 0.878409, 0.897352"
          );
        }
        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.011999, 0.022379, 0.043415, 0.084297, 0.702241", \
            "0.125846, 0.126296, 0.129026, 0.143562, 0.670887", \
            "0.236273, 0.236852, 0.235333, 0.245157, 0.662164", \
            "0.460758, 0.460362, 0.461218, 0.460426, 0.741521", \
            "2.263379, 2.263387, 2.263261, 2.263270, 2.274816"
          );
        }
        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.011676, 0.032976, 0.056268, 0.109537, 0.710905", \
            "0.092517, 0.100885, 0.113823, 0.157999, 0.799871", \
            "0.178759, 0.179128, 0.190132, 0.222605, 0.875172", \
            "0.349115, 0.349295, 0.352632, 0.369786, 0.981780", \
            "1.725874, 1.726029, 1.727042, 1.726377, 1.981658"
          );
        }
      }
      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.012986, 0.016763, 0.019649, 0.026720, -0.007723", \
            "0.091508, 0.092784, 0.095177, 0.106380, 0.166698", \
            "0.168932, 0.168743, 0.171095, 0.177886, 0.281195", \
            "0.323606, 0.323192, 0.323918, 0.327812, 0.460072", \
            "1.563504, 1.562605, 1.561243, 1.560037, 1.617792"
          );
        }
        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.008571, 0.012259, 0.016219, 0.019628, 0.069884", \
            "0.050623, 0.051267, 0.056425, 0.066606, 0.159854", \
            "0.095165, 0.093119, 0.094604, 0.103938, 0.223425", \
            "0.183791, 0.180470, 0.178804, 0.179941, 0.324263", \
            "0.898914, 0.895013, 0.890412, 0.882094, 0.915185"
          );
        }
        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.011911, 0.020658, 0.034736, 0.070430, 0.635528", \
            "0.125379, 0.123991, 0.127246, 0.137364, 0.573702", \
            "0.237050, 0.236795, 0.237035, 0.239467, 0.551121", \
            "0.461112, 0.461207, 0.460365, 0.461268, 0.627986", \
            "2.263335, 2.263310, 2.263383, 2.263356, 2.265017"
          );
        }
        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.019230, 0.039782, 0.064283, 0.115340, 0.682539", \
            "0.099372, 0.109056, 0.124310, 0.167393, 0.824099", \
            "0.186034, 0.187618, 0.197839, 0.231703, 0.904179", \
            "0.357146, 0.356648, 0.360384, 0.378918, 1.012930", \
            "1.733504, 1.733696, 1.734753, 1.734098, 2.001564"
          );
        }
      }
    }
  }
}