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