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: 274320.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"
          );
        }
      }
    }
  }
}