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 (OAI22X1) {
    area: 1097280.0;
    cell_leakage_power: 0.1173;
    pin (D) {
      direction: input;
      rise_capacitance: 0.00422904568382474;
      fall_capacitance: 6.27701700917797e-05;
      capacitance: 0.00214590792695826;
    }
    pin (C) {
      direction: input;
      rise_capacitance: 0.004229993996294385;
      fall_capacitance: 0.005758102592005284;
      capacitance: 0.004994048294149835;
    }
    pin (B) {
      direction: input;
      rise_capacitance: 0.004935264302975343;
      fall_capacitance: 0.004717210490958356;
      capacitance: 0.00482623739696685;
    }
    pin (A) {
      direction: input;
      rise_capacitance: 0.004935925445230348;
      fall_capacitance: 0.007825926909320734;
      capacitance: 0.00638092617727554;
    }
    pin (Y) {
      direction: output;
      function: "(!D&!C&!B&!A|D&!C&!B&!A|D&C&!B&!A|!D&C&!B&!A|!D&!C&B&!A|!D&!C&B&A|!D&!C&!B&A)";
      function: "((A & B & !C & !D + C & D & !A & !B + A & !B & !C & !D + B & !A & !C & !D + C & !A & !B & !D + D & !A & !B & !C + !A & !B & !C & !D))";
      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.023283, 0.026086, 0.029698, 0.032795, -0.001479", \
            "0.101125, 0.101089, 0.103242, 0.111463, 0.155077", \
            "0.178698, 0.178197, 0.178968, 0.183936, 0.265589", \
            "0.333742, 0.332923, 0.332617, 0.334515, 0.443208", \
            "1.573737, 1.572628, 1.570969, 1.568406, 1.602882"
          );
        }
        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.012521, 0.028054, 0.037790, 0.050147, 0.142499", \
            "0.100661, 0.105547, 0.112648, 0.128391, 0.287021", \
            "0.189767, 0.192023, 0.196444, 0.208039, 0.391309", \
            "0.368021, 0.368345, 0.370350, 0.377348, 0.561865", \
            "1.794390, 1.792660, 1.791504, 1.790869, 1.861891"
          );
        }
        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.027523, 0.032137, 0.043710, 0.068258, 0.351959", \
            "0.138192, 0.138265, 0.138971, 0.148233, 0.459452", \
            "0.250786, 0.250776, 0.250815, 0.252433, 0.550251", \
            "0.475993, 0.475990, 0.475983, 0.475987, 0.672440", \
            "2.278881, 2.278886, 2.278881, 2.278884, 2.281277"
          );
        }
        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.033208, 0.057195, 0.047282, 0.073255, 0.374412", \
            "0.150143, 0.150175, 0.151479, 0.161717, 0.504750", \
            "0.271994, 0.271979, 0.271960, 0.273778, 0.580300", \
            "0.515546, 0.515539, 0.515545, 0.515540, 0.712176", \
            "2.463948, 2.463946, 2.463949, 2.463947, 2.465069"
          );
        }
      }
      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.022457, 0.023821, 0.028002, 0.033432, 0.050099", \
            "0.100795, 0.094818, 0.096177, 0.106623, 0.193238", \
            "0.178421, 0.170774, 0.168840, 0.173249, 0.292925", \
            "0.333487, 0.324687, 0.319823, 0.317316, 0.454634", \
            "1.573506, 1.563530, 1.554962, 1.540935, 1.526232"
          );
        }
        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.009970, 0.022332, 0.029418, 0.036773, 0.068890", \
            "0.096499, 0.100597, 0.107043, 0.121347, 0.233209", \
            "0.185411, 0.187163, 0.191171, 0.201750, 0.347651", \
            "0.363558, 0.363589, 0.365346, 0.371744, 0.531675", \
            "1.789838, 1.787994, 1.786745, 1.786002, 1.850882"
          );
        }
        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.027453, 0.035677, 0.052614, 0.085958, 0.479334", \
            "0.138281, 0.138228, 0.140230, 0.159346, 0.613230", \
            "0.250777, 0.250785, 0.250804, 0.256157, 0.698173", \
            "0.475995, 0.475996, 0.475995, 0.475967, 0.804605", \
            "2.278882, 2.278884, 2.278886, 2.278882, 2.294149"
          );
        }
        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.025756, 0.039061, 0.038010, 0.065493, 0.449021", \
            "0.139560, 0.139590, 0.140888, 0.151088, 0.498425", \
            "0.261310, 0.261302, 0.261289, 0.263206, 0.566573", \
            "0.504829, 0.504817, 0.504829, 0.504819, 0.699154", \
            "2.453188, 2.453188, 2.453189, 2.453187, 2.454474"
          );
        }
      }
      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.017359, 0.020239, 0.022410, 0.022148, -0.048370", \
            "0.095781, 0.095787, 0.097757, 0.105343, 0.121554", \
            "0.173355, 0.172918, 0.173600, 0.178104, 0.237251", \
            "0.328398, 0.327691, 0.327330, 0.328976, 0.421249", \
            "1.568399, 1.567426, 1.565794, 1.563195, 1.593328"
          );
        }
        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.015013, 0.024562, 0.032155, 0.044563, 0.160773", \
            "0.098613, 0.097314, 0.099563, 0.111932, 0.280587", \
            "0.184509, 0.180314, 0.178163, 0.181771, 0.365997", \
            "0.356497, 0.350286, 0.344634, 0.339129, 0.507816", \
            "1.732927, 1.724617, 1.714864, 1.697166, 1.627185"
          );
        }
        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.019019, 0.025963, 0.039343, 0.070044, 0.533535", \
            "0.129391, 0.129468, 0.130315, 0.139831, 0.514520", \
            "0.241936, 0.241939, 0.241961, 0.243767, 0.557740", \
            "0.467115, 0.467109, 0.467107, 0.467104, 0.662643", \
            "2.269978, 2.269983, 2.269978, 2.269980, 2.272604"
          );
        }
        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.030659, 0.049724, 0.061259, 0.101551, 0.581832", \
            "0.149318, 0.149607, 0.154293, 0.179158, 0.730603", \
            "0.271589, 0.271594, 0.272068, 0.281395, 0.804678", \
            "0.516131, 0.516134, 0.516134, 0.516907, 0.918257", \
            "2.472225, 2.472227, 2.472226, 2.472227, 2.503573"
          );
        }
      }
      timing () {
        related_pin: "D";
        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.016262, 0.017953, 0.020064, 0.021458, -0.001520", \
            "0.095321, 0.089494, 0.090705, 0.100426, 0.153300", \
            "0.172996, 0.165491, 0.163413, 0.167278, 0.258836", \
            "0.328101, 0.319446, 0.314487, 0.311618, 0.428744", \
            "1.568141, 1.558342, 1.549772, 1.535678, 1.515010"
          );
        }
        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.011023, 0.018339, 0.023255, 0.030287, 0.084409", \
            "0.094011, 0.092068, 0.093623, 0.104316, 0.218448", \
            "0.179838, 0.175225, 0.172596, 0.174928, 0.312603", \
            "0.351783, 0.345335, 0.339405, 0.333058, 0.468089", \
            "1.728167, 1.719791, 1.709961, 1.692131, 1.611665"
          );
        }
        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.018855, 0.028595, 0.047231, 0.087045, 0.641403", \
            "0.129486, 0.129382, 0.131911, 0.151555, 0.651384", \
            "0.241942, 0.241930, 0.241953, 0.247787, 0.698756", \
            "0.467109, 0.467119, 0.467119, 0.467084, 0.794655", \
            "2.269982, 2.269982, 2.269983, 2.269978, 2.286463"
          );
        }
        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.019015, 0.039322, 0.050390, 0.091244, 0.642558", \
            "0.138637, 0.138872, 0.143330, 0.167382, 0.711587", \
            "0.260891, 0.260872, 0.261322, 0.270455, 0.778798", \
            "0.505376, 0.505376, 0.505375, 0.506151, 0.893542", \
            "2.461425, 2.461427, 2.461427, 2.461428, 2.492763"
          );
        }
      }
    }
  }
}