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 (NAND2X1) {
    area: 658368.0;
    cell_leakage_power: 0.1173;
    pin (B) {
      direction: input;
      rise_capacitance: 0.004150889506161318;
      fall_capacitance: 0.0057806089303857715;
      capacitance: 0.004965749218273544;
    }
    pin (A) {
      direction: input;
      rise_capacitance: 0.004935475394936947;
      fall_capacitance: 0.007870695939137575;
      capacitance: 0.0064030856670372616;
    }
    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.007196, 0.007595, 0.006535, 0.002335, -0.081701", \
            "0.048131, 0.045109, 0.049226, 0.055554, 0.023149", \
            "0.091843, 0.084555, 0.083952, 0.092035, 0.093853", \
            "0.179911, 0.169368, 0.162474, 0.161292, 0.207503", \
            "0.885821, 0.872458, 0.856675, 0.829540, 0.814241"
          );
        }
        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.015633, 0.021476, 0.028398, 0.039896, 0.146774", \
            "0.107818, 0.110541, 0.116624, 0.131991, 0.322868", \
            "0.202142, 0.203338, 0.207611, 0.219924, 0.436789", \
            "0.391020, 0.391118, 0.393477, 0.402003, 0.616285", \
            "1.902651, 1.901546, 1.901261, 1.902664, 2.012825"
          );
        }
        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.012945, 0.032109, 0.051696, 0.088446, 0.524049", \
            "0.079676, 0.085046, 0.101926, 0.145349, 0.674950", \
            "0.150526, 0.151440, 0.161506, 0.195645, 0.761149", \
            "0.292156, 0.292210, 0.293910, 0.314078, 0.887525", \
            "1.425456, 1.425453, 1.425463, 1.425463, 1.693531"
          );
        }
        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.013964, 0.019082, 0.028092, 0.057082, 0.488461", \
            "0.142119, 0.142058, 0.142068, 0.146714, 0.440570", \
            "0.272785, 0.272844, 0.272830, 0.273049, 0.465710", \
            "0.534379, 0.534395, 0.534370, 0.534368, 0.637728", \
            "2.627044, 2.627042, 2.627042, 2.627043, 2.627043"
          );
        }
      }
      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.005849, 0.004862, 0.001953, -0.005765, -0.126919", \
            "0.046431, 0.043395, 0.046993, 0.051015, -0.016988", \
            "0.090143, 0.082837, 0.081976, 0.088941, 0.057037", \
            "0.178220, 0.167700, 0.160608, 0.158752, 0.176347", \
            "0.884156, 0.870837, 0.855034, 0.827713, 0.802365"
          );
        }
        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.013792, 0.018689, 0.025506, 0.038065, 0.175360", \
            "0.107725, 0.103637, 0.104869, 0.117440, 0.315940", \
            "0.202285, 0.196217, 0.193422, 0.197331, 0.412055", \
            "0.391293, 0.383864, 0.377831, 0.373134, 0.567831", \
            "1.903042, 1.894202, 1.884122, 1.866559, 1.824766"
          );
        }
        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.009695, 0.029176, 0.049614, 0.090169, 0.630637", \
            "0.076701, 0.082090, 0.098427, 0.140823, 0.690595", \
            "0.147420, 0.148384, 0.158014, 0.191352, 0.764094", \
            "0.289054, 0.289045, 0.290759, 0.310455, 0.877521", \
            "1.422334, 1.422325, 1.422328, 1.422326, 1.682986"
          );
        }
        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.014142, 0.022429, 0.038545, 0.077748, 0.619421", \
            "0.142113, 0.142115, 0.143140, 0.157535, 0.605736", \
            "0.272824, 0.272791, 0.272803, 0.275498, 0.636002", \
            "0.534396, 0.534363, 0.534379, 0.534395, 0.781620", \
            "2.627039, 2.627044, 2.627041, 2.627039, 2.630177"
          );
        }
      }
    }
  }
}