library (ls05_stdcells) {
  delay_model: table_lookup;
  in_place_swap_mode: match_footprint;
  time_unit: "1ns";
  voltage_unit: "1V";
  current_unit: "1uA";
  pulling_resistance_unit: "1kohm";
  leakage_power_unit: "1nW";
  capacitive_load_unit (1.0, pf);
  slew_upper_threshold_pct_rise: 80.0;
  slew_lower_threshold_pct_rise: 20.0;
  slew_upper_threshold_pct_fall: 80.0;
  slew_lower_threshold_pct_fall: 20.0;
  input_threshold_pct_rise: 50.0;
  input_threshold_pct_fall: 50.0;
  output_threshold_pct_rise: 50.0;
  output_threshold_pct_fall: 50.0;
  nom_process: 1.0;
  nom_voltage: 5.0;
  nom_temperature: 25.0;
  default_operating_conditions: typical;
  operating_conditions (typical) {
    process: 1.0;
    voltage: 5.0;
    temperature: 25.0;
  }
  lu_table_template (delay_template_5x5) {
    variable_1: total_output_net_capacitance;
    variable_2: input_net_transition;
    index_1 (
      "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000"
    );
    index_2 (
      "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000"
    );
  }
  cell (NOR2X1) {
    area: 164592.0;
    cell_leakage_power: 0.1173;
    pin (B) {
      direction: input;
      rise_capacitance: 0.006307384837439927;
      fall_capacitance: 0.006306324454300684;
      capacitance: 0.006306854645870306;
    }
    pin (A) {
      direction: input;
      rise_capacitance: 0.006299781364172542;
      fall_capacitance: 0.00890124516010798;
      capacitance: 0.0076005132621402615;
    }
    pin (Y) {
      direction: output;
      function: "(!B&!A)";
      function: "(!A & !B)";
      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.016464, 0.018922, 0.020204, -0.010487", \
            "0.090855, 0.091382, 0.094616, 0.104989, 0.165835", \
            "0.168403, 0.168290, 0.169983, 0.177071, 0.280870", \
            "0.323463, 0.322901, 0.323243, 0.327021, 0.459948", \
            "1.563457, 1.562468, 1.561029, 1.559260, 1.617628"
          );
        }
        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.012834, 0.016940, 0.022901, 0.073370", \
            "0.050719, 0.051182, 0.056436, 0.070039, 0.161587", \
            "0.095157, 0.093369, 0.094430, 0.105159, 0.223878", \
            "0.184573, 0.181502, 0.179079, 0.180864, 0.324736", \
            "0.900731, 0.896739, 0.891685, 0.882327, 0.915214"
          );
        }
        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.020251, 0.035631, 0.075894, 0.632098", \
            "0.122227, 0.122198, 0.122986, 0.131826, 0.572943", \
            "0.234847, 0.234841, 0.234770, 0.236394, 0.551555", \
            "0.460142, 0.460167, 0.460168, 0.460147, 0.626352", \
            "2.263162, 2.263157, 2.263162, 2.263162, 2.264768"
          );
        }
        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.038878, 0.062210, 0.109873, 0.677222", \
            "0.098886, 0.105335, 0.122576, 0.168308, 0.823551", \
            "0.184754, 0.186734, 0.196898, 0.231670, 0.903883", \
            "0.357145, 0.357371, 0.360113, 0.379939, 1.013582", \
            "1.735540, 1.735518, 1.735519, 1.735512, 2.002056"
          );
        }
      }
      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.014164, 0.016660, 0.020318, 0.038325", \
            "0.090368, 0.085510, 0.088212, 0.100612, 0.196917", \
            "0.168063, 0.161173, 0.160440, 0.166991, 0.301135", \
            "0.323155, 0.314877, 0.310973, 0.310624, 0.465942", \
            "1.563209, 1.553438, 1.545230, 1.532397, 1.541763"
          );
        }
        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.007167, 0.008315, 0.008939, 0.000169", \
            "0.046963, 0.047411, 0.052229, 0.062557, 0.098027", \
            "0.091434, 0.089675, 0.090367, 0.099822, 0.165924", \
            "0.180891, 0.177906, 0.175243, 0.176092, 0.276079", \
            "0.897089, 0.893154, 0.888102, 0.878617, 0.897368"
          );
        }
        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.022468, 0.042650, 0.089129, 0.702921", \
            "0.122129, 0.122235, 0.124548, 0.142036, 0.672456", \
            "0.234809, 0.234839, 0.234788, 0.239948, 0.663642", \
            "0.460173, 0.460149, 0.460147, 0.460142, 0.740712", \
            "2.263154, 2.263159, 2.263157, 2.263162, 2.274281"
          );
        }
        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.031135, 0.054847, 0.101688, 0.713699", \
            "0.091257, 0.097211, 0.113947, 0.158466, 0.799171", \
            "0.177241, 0.178967, 0.188549, 0.222057, 0.874832", \
            "0.349616, 0.349773, 0.352334, 0.371118, 0.982630", \
            "1.727951, 1.727928, 1.727929, 1.727925, 1.982101"
          );
        }
      }
    }
  }
}