/*
 delay model :       typ
 check model :       typ
 power model :       typ
 capacitance model : typ
 other model :       typ
*/
library(osu018_stdcells) {

  delay_model : table_lookup;
  in_place_swap_mode : match_footprint;

  /* unit attributes */
  time_unit : "1ns";
  voltage_unit : "1V";
  current_unit : "1uA";
  pulling_resistance_unit : "1kohm";
  leakage_power_unit : "1nW";
  capacitive_load_unit (1,pf);

  slew_upper_threshold_pct_rise : 80;
  slew_lower_threshold_pct_rise : 20;
  slew_upper_threshold_pct_fall : 80;
  slew_lower_threshold_pct_fall : 20;
  input_threshold_pct_rise : 50;
  input_threshold_pct_fall : 50;
  output_threshold_pct_rise : 50;
  output_threshold_pct_fall : 50;
  nom_process : 1;
  nom_voltage : 1.8;
  nom_temperature : 25;
  operating_conditions ( typical ) {
     process : 1;
     voltage : 1.8;
     temperature : 25;
  }
  default_operating_conditions : typical;

  lu_table_template(delay_template_5x1) {
    variable_1 : input_net_transition;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
  }
  lu_table_template(delay_template_5x5) {
    variable_1 : total_output_net_capacitance;
    variable_2 : input_net_transition;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
  }
  lu_table_template(delay_template_5x6) {
    variable_1 : total_output_net_capacitance;
    variable_2 : input_net_transition;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  lu_table_template(delay_template_6x6) {
    variable_1 : total_output_net_capacitance;
    variable_2 : input_net_transition;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  power_lut_template(energy_template_5x5) {
    variable_1 : total_output_net_capacitance;
    variable_2 : input_transition_time;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
  }
  power_lut_template(energy_template_5x6) {
    variable_1 : total_output_net_capacitance;
    variable_2 : input_transition_time;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  power_lut_template(energy_template_6x6) {
    variable_1 : total_output_net_capacitance;
    variable_2 : input_transition_time;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  lu_table_template(hold_template_3x5) {
    variable_1 : related_pin_transition;
    variable_2 : constrained_pin_transition;
    index_1 ("1000.0, 1001.0, 1002.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
  }
  lu_table_template(hold_template_3x6) {
    variable_1 : related_pin_transition;
    variable_2 : constrained_pin_transition;
    index_1 ("1000.0, 1001.0, 1002.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  power_lut_template(passive_energy_template_5x1) {
    variable_1 : input_transition_time;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
  }
  power_lut_template(passive_energy_template_6x1) {
    variable_1 : input_transition_time;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  lu_table_template(recovery_template_3x6) {
    variable_1 : related_pin_transition;
    variable_2 : constrained_pin_transition;
    index_1 ("1000.0, 1001.0, 1002.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  lu_table_template(recovery_template_6x6) {
    variable_1 : related_pin_transition;
    variable_2 : constrained_pin_transition;
    index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  lu_table_template(removal_template_3x6) {
    variable_1 : related_pin_transition;
    variable_2 : constrained_pin_transition;
    index_1 ("1000.0, 1001.0, 1002.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }
  lu_table_template(setup_template_3x5) {
    variable_1 : related_pin_transition;
    variable_2 : constrained_pin_transition;
    index_1 ("1000.0, 1001.0, 1002.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
  }
  lu_table_template(setup_template_3x6) {
    variable_1 : related_pin_transition;
    variable_2 : constrained_pin_transition;
    index_1 ("1000.0, 1001.0, 1002.0");
    index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0");
  }

/* --------------- *
 * Design : AND2X1 *
 * --------------- */
cell (AND2X1) {
area : 32;
  cell_leakage_power : 0.0746794;
  pin(A)  {
    direction : input;
    capacitance : 0.0129077;
    rise_capacitance : 0.0129077;
    fall_capacitance : 0.0128842;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0125298;
    rise_capacitance : 0.0125298;
    fall_capacitance : 0.0122586;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.505476;
    function : "(A B)";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.06367, 0.070461, 0.076801, 0.076477, 0.064975", \
          "0.078318, 0.085985, 0.097551, 0.097523, 0.084151", \
          "0.101102, 0.106523, 0.116541, 0.12064, 0.109008", \
          "0.186369, 0.192402, 0.20213, 0.204066, 0.197112", \
          "0.311845, 0.327388, 0.329449, 0.331209, 0.325543");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.03002, 0.034126, 0.049111, 0.051622, 0.058375", \
          "0.043159, 0.047719, 0.05847, 0.0606, 0.075", \
          "0.0738, 0.0726, 0.0786, 0.0882, 0.0936", \
          "0.1884, 0.189, 0.1908, 0.192, 0.1968", \
          "0.366, 0.3666, 0.3684, 0.369, 0.3732");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.076128, 0.106375, 0.152212, 0.183594, 0.267424", \
          "0.089908, 0.120622, 0.171438, 0.198723, 0.290365", \
          "0.111016, 0.141837, 0.194222, 0.221808, 0.312359", \
          "0.184884, 0.217444, 0.268203, 0.297785, 0.394616", \
          "0.295351, 0.333462, 0.380054, 0.411544, 0.506596");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.023191, 0.030696, 0.049255, 0.05222, 0.0624", \
          "0.038144, 0.042236, 0.054779, 0.066, 0.0702", \
          "0.0648, 0.0642, 0.0744, 0.0744, 0.0876", \
          "0.1506, 0.1512, 0.153, 0.1566, 0.1608", \
          "0.291, 0.2916, 0.2928, 0.2928, 0.2964");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.065215, 0.070029, 0.065114, 0.06797, 0.030044", \
          "0.080046, 0.085518, 0.084303, 0.085736, 0.052763", \
          "0.102829, 0.108928, 0.108632, 0.109566, 0.080609", \
          "0.188114, 0.194154, 0.19869, 0.195568, 0.171942", \
          "0.313575, 0.323664, 0.32479, 0.321763, 0.301292");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.02568, 0.030953, 0.040555, 0.052662, 0.058886", \
          "0.04175, 0.049456, 0.06, 0.0696, 0.0768", \
          "0.0738, 0.0714, 0.0804, 0.087, 0.093", \
          "0.1884, 0.1878, 0.1908, 0.1926, 0.1992", \
          "0.366, 0.3666, 0.3672, 0.3684, 0.3744");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.086342, 0.123374, 0.175522, 0.217083, 0.314459", \
          "0.101176, 0.139097, 0.191667, 0.230985, 0.335929", \
          "0.121305, 0.16117, 0.21439, 0.251706, 0.358423", \
          "0.19482, 0.23553, 0.289847, 0.328581, 0.439064", \
          "0.306582, 0.349002, 0.400715, 0.439677, 0.549921");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.025127, 0.029204, 0.03336, 0.051446, 0.049241", \
          "0.03916, 0.041168, 0.047199, 0.055391, 0.0648", \
          "0.0636, 0.069, 0.0678, 0.078, 0.0774", \
          "0.1512, 0.1518, 0.1536, 0.1548, 0.1578", \
          "0.291, 0.2904, 0.291, 0.2928, 0.2946");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.012351, 0.01753, 0.032859, 0.046092, 0.090803", \
          "0.013339, 0.017698, 0.032616, 0.045498, 0.08953", \
          "0.013729, 0.018863, 0.033136, 0.045572, 0.08851", \
          "0.014763, 0.019558, 0.033444, 0.045067, 0.086251", \
          "0.015252, 0.020471, 0.033879, 0.045469, 0.086416");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.051843, 0.061484, 0.075909, 0.087394, 0.131465", \
          "0.053948, 0.063015, 0.075339, 0.087007, 0.129259", \
          "0.054045, 0.062985, 0.07537, 0.086885, 0.1283", \
          "0.054653, 0.062832, 0.075179, 0.087109, 0.127955", \
          "0.05485, 0.062533, 0.07543, 0.087243, 0.127915");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.013537, 0.018652, 0.030058, 0.044763, 0.08865", \
          "0.014079, 0.018327, 0.030221, 0.044563, 0.086591", \
          "0.014302, 0.018522, 0.030189, 0.043793, 0.085708", \
          "0.01524, 0.018832, 0.030544, 0.042699, 0.085217", \
          "0.015577, 0.018888, 0.031139, 0.043193, 0.085027");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.062565, 0.073373, 0.086577, 0.10111, 0.1452", \
          "0.065226, 0.072689, 0.085935, 0.100245, 0.143405", \
          "0.065879, 0.073131, 0.086345, 0.099667, 0.142411", \
          "0.06752, 0.07374, 0.08798, 0.099495, 0.141641", \
          "0.067305, 0.074406, 0.08846, 0.100126, 0.141826");
      }
    }
  }
}

/* --------------- *
 * Design : AND2X2 *
 * --------------- */
cell (AND2X2) {
area : 32;
  cell_leakage_power : 0.090278;
  pin(A)  {
    direction : input;
    capacitance : 0.0129068;
    rise_capacitance : 0.0128698;
    fall_capacitance : 0.0129068;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0125119;
    rise_capacitance : 0.0125119;
    fall_capacitance : 0.0122677;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.975557;
    function : "(A B)";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.079151, 0.091168, 0.112401, 0.116815, 0.110012", \
          "0.094906, 0.109298, 0.130095, 0.135144, 0.12883", \
          "0.119494, 0.131824, 0.155457, 0.159344, 0.157233", \
          "0.206917, 0.222384, 0.241527, 0.246456, 0.248042", \
          "0.336707, 0.351629, 0.370971, 0.375914, 0.378028");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.035696, 0.039511, 0.054169, 0.05627, 0.0702", \
          "0.051008, 0.056876, 0.0702, 0.0726, 0.0798", \
          "0.0756, 0.0798, 0.0894, 0.0918, 0.1056", \
          "0.1932, 0.1968, 0.1974, 0.1992, 0.2058", \
          "0.378, 0.378, 0.3798, 0.381, 0.384");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.093907, 0.13403, 0.18857, 0.218416, 0.32176", \
          "0.109237, 0.15259, 0.205536, 0.241165, 0.340988", \
          "0.132441, 0.175416, 0.229071, 0.263575, 0.366037", \
          "0.214386, 0.257165, 0.311103, 0.348813, 0.453364", \
          "0.334685, 0.376026, 0.432567, 0.46796, 0.572264");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032309, 0.035034, 0.053938, 0.0618, 0.0654", \
          "0.054496, 0.0581, 0.069, 0.0696, 0.0768", \
          "0.0732, 0.075, 0.0786, 0.0876, 0.0978", \
          "0.1632, 0.1662, 0.1668, 0.1704, 0.1764", \
          "0.3156, 0.315, 0.3156, 0.3174, 0.3204");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.081559, 0.090357, 0.092534, 0.091354, 0.070717", \
          "0.097397, 0.107931, 0.113633, 0.110762, 0.095186", \
          "0.121832, 0.129937, 0.138311, 0.139972, 0.12199", \
          "0.208737, 0.218082, 0.225122, 0.227706, 0.21528", \
          "0.338379, 0.353386, 0.358576, 0.359126, 0.346878");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.036916, 0.048718, 0.047469, 0.059474, 0.0684", \
          "0.05105, 0.055258, 0.063, 0.0684, 0.0792", \
          "0.0756, 0.0792, 0.0906, 0.0912, 0.1014", \
          "0.1938, 0.1962, 0.1968, 0.1992, 0.2064", \
          "0.378, 0.378, 0.3792, 0.3804, 0.3852");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.103564, 0.145068, 0.207945, 0.242964, 0.357798", \
          "0.119673, 0.162172, 0.227495, 0.263905, 0.381804", \
          "0.143018, 0.187723, 0.250938, 0.290462, 0.406679", \
          "0.224466, 0.268745, 0.332739, 0.372766, 0.491968", \
          "0.345577, 0.387664, 0.45055, 0.491515, 0.610706");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.030793, 0.033285, 0.041193, 0.049891, 0.0606", \
          "0.051182, 0.054372, 0.05968, 0.0696, 0.0726", \
          "0.072, 0.069, 0.0846, 0.0876, 0.0924", \
          "0.1668, 0.1668, 0.1686, 0.1686, 0.1722", \
          "0.3156, 0.3156, 0.3168, 0.3168, 0.318");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.035999, 0.038715, 0.059579, 0.073077, 0.118449", \
          "0.037968, 0.039043, 0.059066, 0.07139, 0.11484", \
          "0.038182, 0.039703, 0.057496, 0.069577, 0.112525", \
          "0.039912, 0.043893, 0.056441, 0.06669, 0.107963", \
          "0.040724, 0.04515, 0.056218, 0.067369, 0.107406");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.074272, 0.081015, 0.097734, 0.112162, 0.158445", \
          "0.073801, 0.081767, 0.096117, 0.108499, 0.153047", \
          "0.076291, 0.082021, 0.095328, 0.107162, 0.149707", \
          "0.078079, 0.082673, 0.096068, 0.107066, 0.147203", \
          "0.0781, 0.083521, 0.096298, 0.107338, 0.147001");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038631, 0.040743, 0.05645, 0.068737, 0.116469", \
          "0.040765, 0.040589, 0.055418, 0.067048, 0.112598", \
          "0.040617, 0.040473, 0.054706, 0.06586, 0.110001", \
          "0.041329, 0.041845, 0.054698, 0.065431, 0.10611", \
          "0.041651, 0.042621, 0.054878, 0.065731, 0.105909");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.084865, 0.09187, 0.111881, 0.123101, 0.172144", \
          "0.087084, 0.092993, 0.111047, 0.120415, 0.168159", \
          "0.088325, 0.09227, 0.108629, 0.121633, 0.165087", \
          "0.090064, 0.094995, 0.109267, 0.120689, 0.161319", \
          "0.090229, 0.095784, 0.109314, 0.120709, 0.161502");
      }
    }
  }
}

/* ---------------- *
 * Design : AOI21X1 *
 * ---------------- */
cell (AOI21X1) {
area : 32;
  cell_leakage_power : 0.0515209;
  pin(A)  {
    direction : input;
    capacitance : 0.0173593;
    rise_capacitance : 0.0170698;
    fall_capacitance : 0.0173593;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0179733;
    rise_capacitance : 0.0174936;
    fall_capacitance : 0.0179733;
  }
  pin(C)  {
    direction : input;
    capacitance : 0.0150799;
    rise_capacitance : 0.0150575;
    fall_capacitance : 0.0150799;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.494067;
    function : "(!((A B)+C))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.047915, 0.060212, 0.067163, 0.069103, 0.070089", \
          "0.05909, 0.074221, 0.08307, 0.09116, 0.096894", \
          "0.076858, 0.094301, 0.110559, 0.120474, 0.134719", \
          "0.13882, 0.160652, 0.194186, 0.212651, 0.254514", \
          "0.231208, 0.253692, 0.295337, 0.321981, 0.388552");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.034132, 0.063, 0.0906, 0.1116, 0.168", \
          "0.052839, 0.0732, 0.108, 0.1272, 0.1932", \
          "0.0672, 0.0882, 0.1242, 0.144, 0.219", \
          "0.1464, 0.1536, 0.1878, 0.2166, 0.3024", \
          "0.2676, 0.2688, 0.291, 0.3162, 0.4056");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.064718, 0.082701, 0.106751, 0.125102, 0.180744", \
          "0.080174, 0.098818, 0.126855, 0.147241, 0.210669", \
          "0.100295, 0.124476, 0.155884, 0.179478, 0.251019", \
          "0.189553, 0.21113, 0.256309, 0.285843, 0.375986", \
          "0.31622, 0.336614, 0.386991, 0.424065, 0.529812");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.048645, 0.0678, 0.0918, 0.1146, 0.1578", \
          "0.06, 0.0816, 0.1128, 0.1278, 0.1794", \
          "0.09, 0.1068, 0.135, 0.153, 0.2148", \
          "0.2082, 0.2124, 0.2388, 0.261, 0.3264", \
          "0.3858, 0.3852, 0.3996, 0.4188, 0.492");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.049492, 0.060665, 0.079308, 0.091203, 0.11301", \
          "0.059982, 0.083223, 0.105699, 0.115734, 0.142968", \
          "0.075933, 0.10303, 0.132388, 0.150129, 0.184911", \
          "0.138897, 0.172235, 0.225315, 0.253245, 0.316038", \
          "0.232339, 0.264177, 0.331505, 0.373206, 0.467627");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.036341, 0.06, 0.102, 0.1212, 0.1794", \
          "0.054499, 0.0828, 0.114, 0.1374, 0.201", \
          "0.0666, 0.0948, 0.1344, 0.159, 0.2376", \
          "0.1464, 0.1572, 0.2076, 0.2388, 0.3348", \
          "0.2676, 0.2682, 0.303, 0.3408, 0.4542");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.055077, 0.073278, 0.084771, 0.098675, 0.132128", \
          "0.070455, 0.087716, 0.1086, 0.124224, 0.167364", \
          "0.092563, 0.114522, 0.141653, 0.160472, 0.214472", \
          "0.181857, 0.201909, 0.245085, 0.272242, 0.351721", \
          "0.309465, 0.3284, 0.377731, 0.413032, 0.511912");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.039657, 0.057392, 0.0918, 0.1104, 0.1548", \
          "0.051732, 0.075, 0.1008, 0.1248, 0.1794", \
          "0.0828, 0.0966, 0.1284, 0.1518, 0.21", \
          "0.1986, 0.2022, 0.2298, 0.2532, 0.3234", \
          "0.3756, 0.3762, 0.3912, 0.411, 0.486");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.040927, 0.054774, 0.07418, 0.082139, 0.103563", \
          "0.055377, 0.076133, 0.100949, 0.114073, 0.146048", \
          "0.074977, 0.103939, 0.138062, 0.157255, 0.201662", \
          "0.150359, 0.185939, 0.249198, 0.282431, 0.362184", \
          "0.263086, 0.297154, 0.37096, 0.422663, 0.541719");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032516, 0.062798, 0.0975, 0.1203, 0.1728", \
          "0.048692, 0.0774, 0.1134, 0.1371, 0.2022", \
          "0.0663, 0.0906, 0.138, 0.1641, 0.2382", \
          "0.1602, 0.1671, 0.2166, 0.2541, 0.3528", \
          "0.2994, 0.2997, 0.3258, 0.363, 0.4899");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.047529, 0.066647, 0.090407, 0.10183, 0.137361", \
          "0.059937, 0.084705, 0.114419, 0.133901, 0.177228", \
          "0.078431, 0.112276, 0.150614, 0.173776, 0.230771", \
          "0.154015, 0.191568, 0.259108, 0.296207, 0.387531", \
          "0.265695, 0.302125, 0.380136, 0.434427, 0.565985");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.041826, 0.0747, 0.0897, 0.111, 0.1569", \
          "0.053506, 0.0849, 0.1134, 0.1293, 0.1863", \
          "0.0768, 0.1044, 0.141, 0.1611, 0.2268", \
          "0.1791, 0.186, 0.2325, 0.2679, 0.3531", \
          "0.3339, 0.3345, 0.3603, 0.3945, 0.5094");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.01884, 0.015378, 0.002987, 0.018991, 0.076233", \
          "0.018379, 0.014956, 0.000845, 0.016266, 0.071924", \
          "0.018063, 0.015186, 0.00144, 0.012644, 0.065864", \
          "0.017216, 0.016158, 0.006591, 0.004175, 0.04943", \
          "0.016838, 0.016602, 0.009608, 0.001584, 0.035332");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.091023, 0.091252, 0.108402, 0.124045, 0.182645", \
          "0.089299, 0.091534, 0.10694, 0.121957, 0.179202", \
          "0.090732, 0.091004, 0.104261, 0.118649, 0.174125", \
          "0.09076, 0.090645, 0.100016, 0.111306, 0.158859", \
          "0.091388, 0.091076, 0.097453, 0.106102, 0.145954");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.018566, 0.013046, 0.004696, 0.020236, 0.074908", \
          "0.018223, 0.01362, 0.002409, 0.017471, 0.070868", \
          "0.017705, 0.013684, 0.00017, 0.013747, 0.065047", \
          "0.017097, 0.015358, 0.005946, 0.004681, 0.048729", \
          "0.016861, 0.016115, 0.009462, 0.001479, 0.034466");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.076734, 0.079298, 0.095157, 0.110941, 0.166091", \
          "0.077202, 0.07904, 0.09362, 0.10795, 0.162013", \
          "0.0786, 0.078901, 0.091229, 0.10469, 0.156162", \
          "0.080713, 0.079266, 0.087636, 0.097937, 0.14147", \
          "0.082064, 0.080484, 0.085746, 0.093548, 0.129674");
      }
    }
    internal_power() {
      related_pin : "C";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.018953, 0.013695, 0.002159, 0.014727, 0.058473", \
          "0.018108, 0.014132, 0.000778, 0.011816, 0.054292", \
          "0.016648, 0.014865, 0.002678, 0.008304, 0.048784", \
          "0.014337, 0.014426, 0.007209, 0.000966, 0.034909", \
          "0.013051, 0.013508, 0.00931, 0.00346, 0.023891");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052359, 0.058578, 0.072513, 0.084065, 0.125476", \
          "0.052467, 0.057513, 0.070505, 0.081461, 0.121554", \
          "0.052973, 0.056219, 0.067995, 0.078279, 0.116559", \
          "0.054189, 0.054888, 0.063141, 0.071481, 0.104394", \
          "0.054944, 0.055102, 0.060377, 0.066747, 0.094347");
      }
    }
  }
}

/* ---------------- *
 * Design : AOI22X1 *
 * ---------------- */
cell (AOI22X1) {
area : 40;
  cell_leakage_power : 0.0588648;
  pin(A)  {
    direction : input;
    capacitance : 0.0173718;
    rise_capacitance : 0.0170846;
    fall_capacitance : 0.0173718;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0179972;
    rise_capacitance : 0.0175034;
    fall_capacitance : 0.0179972;
  }
  pin(C)  {
    direction : input;
    capacitance : 0.0182378;
    rise_capacitance : 0.0182378;
    fall_capacitance : 0.0180284;
  }
  pin(D)  {
    direction : input;
    capacitance : 0.0186552;
    rise_capacitance : 0.0186345;
    fall_capacitance : 0.0186552;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.484829;
    function : "(!((A B)+(C D)))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.059558, 0.073754, 0.085031, 0.09237, 0.102238", \
          "0.07058, 0.086236, 0.101938, 0.110973, 0.125485", \
          "0.086388, 0.104904, 0.127903, 0.139455, 0.161089", \
          "0.149571, 0.171416, 0.206445, 0.227382, 0.273242", \
          "0.242188, 0.264574, 0.306552, 0.334379, 0.404558");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.051245, 0.0717, 0.1065, 0.1296, 0.1908", \
          "0.062189, 0.0804, 0.1167, 0.1398, 0.2076", \
          "0.081, 0.0972, 0.1335, 0.1593, 0.2328", \
          "0.1605, 0.1662, 0.2013, 0.2277, 0.3117", \
          "0.2802, 0.2814, 0.3018, 0.3273, 0.4173");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.077033, 0.09881, 0.125826, 0.145776, 0.206338", \
          "0.089617, 0.113047, 0.142975, 0.164835, 0.231783", \
          "0.107809, 0.13482, 0.170236, 0.194768, 0.268272", \
          "0.184454, 0.210985, 0.262028, 0.29356, 0.386243", \
          "0.296011, 0.322621, 0.379046, 0.41979, 0.531586");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.057564, 0.0732, 0.1017, 0.1257, 0.1743", \
          "0.070588, 0.0864, 0.1191, 0.1395, 0.1953", \
          "0.0957, 0.1083, 0.1437, 0.1635, 0.2259", \
          "0.1986, 0.204, 0.2322, 0.2577, 0.33", \
          "0.3549, 0.3546, 0.372, 0.3945, 0.4758");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.060499, 0.083279, 0.106107, 0.118099, 0.147539", \
          "0.070377, 0.096739, 0.123079, 0.139748, 0.17443", \
          "0.086504, 0.115719, 0.152173, 0.169862, 0.213697", \
          "0.149623, 0.18266, 0.239418, 0.268681, 0.337737", \
          "0.243324, 0.274964, 0.342875, 0.386367, 0.485573");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.051394, 0.0804, 0.1155, 0.1389, 0.204", \
          "0.062424, 0.0867, 0.1257, 0.1533, 0.2229", \
          "0.0816, 0.1029, 0.147, 0.1761, 0.2544", \
          "0.1608, 0.1704, 0.219, 0.2526, 0.3495", \
          "0.2802, 0.2817, 0.3138, 0.351, 0.4674");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.069362, 0.087059, 0.107361, 0.122199, 0.163316", \
          "0.081873, 0.103323, 0.128196, 0.144999, 0.193609", \
          "0.10122, 0.125231, 0.156939, 0.177262, 0.235215", \
          "0.177716, 0.203377, 0.251819, 0.281169, 0.363544", \
          "0.28987, 0.315506, 0.370789, 0.409941, 0.515064");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.047614, 0.0672, 0.0957, 0.1209, 0.1779", \
          "0.061365, 0.0798, 0.114, 0.1344, 0.1977", \
          "0.0885, 0.1008, 0.1374, 0.1584, 0.225", \
          "0.1905, 0.195, 0.2262, 0.2529, 0.3279", \
          "0.3468, 0.3462, 0.3645, 0.387, 0.4719");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.043116, 0.051263, 0.049222, 0.046851, 0.028806", \
          "0.053362, 0.064879, 0.070894, 0.070263, 0.060648", \
          "0.070468, 0.084656, 0.098411, 0.103026, 0.103853", \
          "0.133327, 0.154566, 0.184787, 0.200938, 0.231736", \
          "0.225667, 0.24762, 0.288028, 0.31323, 0.372808");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.034602, 0.063, 0.0921, 0.1152, 0.1704", \
          "0.048178, 0.075, 0.1044, 0.1269, 0.1893", \
          "0.0657, 0.0882, 0.1206, 0.144, 0.2166", \
          "0.1443, 0.1536, 0.1872, 0.2148, 0.2985", \
          "0.2649, 0.2667, 0.2892, 0.3153, 0.4038");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.063545, 0.094871, 0.136401, 0.16142, 0.242981", \
          "0.07483, 0.1105, 0.154295, 0.185845, 0.272672", \
          "0.094749, 0.132305, 0.185895, 0.218339, 0.313591", \
          "0.169409, 0.208046, 0.283047, 0.327487, 0.447253", \
          "0.281497, 0.318212, 0.398529, 0.457162, 0.610092");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052268, 0.0828, 0.1041, 0.1233, 0.1653", \
          "0.070018, 0.0924, 0.1254, 0.1383, 0.192", \
          "0.0909, 0.1095, 0.1491, 0.1689, 0.2271", \
          "0.195, 0.2016, 0.2415, 0.273, 0.3516", \
          "0.3492, 0.3501, 0.3723, 0.4038, 0.5091");
      }
    }
    timing() {
      related_pin : "D";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.042736, 0.053327, 0.064886, 0.066692, 0.066033", \
          "0.054666, 0.069528, 0.085321, 0.092299, 0.100861", \
          "0.070329, 0.094855, 0.118569, 0.128733, 0.148953", \
          "0.133457, 0.165786, 0.215247, 0.238769, 0.290855", \
          "0.227208, 0.258062, 0.324137, 0.363734, 0.449975");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.036357, 0.0663, 0.0963, 0.1182, 0.1797", \
          "0.049069, 0.0738, 0.117, 0.1359, 0.2046", \
          "0.0672, 0.0945, 0.1338, 0.1596, 0.2355", \
          "0.1443, 0.1563, 0.2049, 0.2382, 0.3345", \
          "0.2649, 0.2661, 0.3012, 0.3399, 0.4542");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.055133, 0.083033, 0.112962, 0.137088, 0.19711", \
          "0.066932, 0.099166, 0.13773, 0.161212, 0.231136", \
          "0.087392, 0.123134, 0.169512, 0.198112, 0.27848", \
          "0.163047, 0.200404, 0.272061, 0.313522, 0.422928", \
          "0.275586, 0.31125, 0.390389, 0.44751, 0.592551");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045942, 0.0738, 0.1017, 0.1119, 0.1644", \
          "0.059367, 0.0882, 0.1167, 0.1338, 0.189", \
          "0.0834, 0.105, 0.1437, 0.165, 0.2268", \
          "0.1872, 0.1923, 0.2361, 0.2679, 0.3495", \
          "0.3417, 0.3423, 0.3654, 0.3975, 0.5052");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.017252, 0.014504, 0.002012, 0.017593, 0.073678", \
          "0.016991, 0.014085, 0.001121, 0.015296, 0.070035", \
          "0.01643, 0.014244, 0.001354, 0.012311, 0.064843", \
          "0.01571, 0.014909, 0.00564, 0.00501, 0.050029", \
          "0.015323, 0.015251, 0.008357, 0.001706, 0.036823");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.115446, 0.116135, 0.129847, 0.144513, 0.201731", \
          "0.116415, 0.116075, 0.128039, 0.142387, 0.198152", \
          "0.116086, 0.116647, 0.126483, 0.139869, 0.193572", \
          "0.116179, 0.116861, 0.123363, 0.133721, 0.179649", \
          "0.116614, 0.115892, 0.121362, 0.129414, 0.167706");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.016981, 0.012866, 0.003748, 0.018859, 0.072511", \
          "0.016622, 0.013066, 0.002135, 0.016484, 0.069066", \
          "0.016337, 0.01353, 0.001276, 0.013404, 0.064006", \
          "0.015625, 0.014455, 0.00495, 0.005528, 0.049308", \
          "0.015302, 0.014761, 0.008174, 0.001762, 0.036019");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.103614, 0.103917, 0.116687, 0.130781, 0.184576", \
          "0.104035, 0.104344, 0.115506, 0.128643, 0.180928", \
          "0.104894, 0.104706, 0.113914, 0.126271, 0.175692", \
          "0.106145, 0.105647, 0.111102, 0.120551, 0.162396", \
          "0.107214, 0.105361, 0.109731, 0.116971, 0.151643");
      }
    }
    internal_power() {
      related_pin : "C";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.019796, 0.015099, 0.002586, 0.017576, 0.070439", \
          "0.018534, 0.015991, 0.000882, 0.014832, 0.066302", \
          "0.017084, 0.016253, 0.00167, 0.011388, 0.060581", \
          "0.014548, 0.015105, 0.005856, 0.004036, 0.0455", \
          "0.013335, 0.01384, 0.007841, 0.000506, 0.033248");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.079176, 0.085628, 0.10238, 0.116879, 0.166948", \
          "0.079246, 0.084479, 0.100338, 0.114328, 0.163665", \
          "0.079457, 0.083914, 0.097961, 0.111276, 0.159308", \
          "0.080706, 0.081878, 0.092798, 0.10383, 0.146816", \
          "0.081347, 0.081968, 0.089357, 0.097961, 0.134919");
      }
    }
    internal_power() {
      related_pin : "D";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.018921, 0.013487, 0.004758, 0.019294, 0.070418", \
          "0.018072, 0.013734, 0.002565, 0.016448, 0.066247", \
          "0.016721, 0.013837, 0.000845, 0.012859, 0.060584", \
          "0.01445, 0.014048, 0.005005, 0.004885, 0.045461", \
          "0.013184, 0.013269, 0.007554, 0.000456, 0.033016");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.067102, 0.073574, 0.089864, 0.103549, 0.151461", \
          "0.067404, 0.073003, 0.087748, 0.101072, 0.147805", \
          "0.068244, 0.072128, 0.08545, 0.0979, 0.143101", \
          "0.070645, 0.070678, 0.080594, 0.090759, 0.130749", \
          "0.07195, 0.071514, 0.077661, 0.085554, 0.119758");
      }
    }
  }
}

/* -------------- *
 * Design : BUFX2 *
 * -------------- */
cell (BUFX2) {
  cell_footprint : buf;
area : 24;
  cell_leakage_power : 0.0660639;
  pin(A)  {
    direction : input;
    capacitance : 0.00933171;
    rise_capacitance : 0.00930577;
    fall_capacitance : 0.00933171;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.975984;
    function : "A";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.080192, 0.099332, 0.125551, 0.141601, 0.160879", \
          "0.09527, 0.119121, 0.146424, 0.159624, 0.180791", \
          "0.119549, 0.142384, 0.170285, 0.182826, 0.208459", \
          "0.206725, 0.226318, 0.258778, 0.269216, 0.29682", \
          "0.336459, 0.356012, 0.387945, 0.399852, 0.425204");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.035642, 0.045563, 0.054071, 0.057308, 0.0714", \
          "0.050072, 0.056113, 0.0636, 0.0738, 0.0786", \
          "0.075, 0.084, 0.087, 0.0894, 0.1002", \
          "0.1932, 0.1938, 0.1956, 0.198, 0.2046", \
          "0.378, 0.378, 0.378, 0.3792, 0.3816");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.089994, 0.120328, 0.164981, 0.192952, 0.273426", \
          "0.105036, 0.137433, 0.18812, 0.215291, 0.293841", \
          "0.126393, 0.161711, 0.209388, 0.240117, 0.319216", \
          "0.207389, 0.241744, 0.292741, 0.321104, 0.405447", \
          "0.326255, 0.363651, 0.411543, 0.440746, 0.523808");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.039104, 0.036002, 0.057053, 0.0624, 0.0708", \
          "0.045857, 0.047088, 0.0684, 0.0702, 0.0768", \
          "0.0726, 0.0744, 0.0786, 0.084, 0.0972", \
          "0.165, 0.1656, 0.1668, 0.1692, 0.1764", \
          "0.315, 0.3156, 0.3168, 0.3162, 0.3198");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.03658, 0.03891, 0.056883, 0.069415, 0.11089", \
          "0.038085, 0.039057, 0.055117, 0.067529, 0.106812", \
          "0.038003, 0.039633, 0.053668, 0.064651, 0.102782", \
          "0.0397, 0.044023, 0.054656, 0.064068, 0.099339", \
          "0.040525, 0.044916, 0.055363, 0.064444, 0.098589");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.065076, 0.073013, 0.086097, 0.096905, 0.139646", \
          "0.064781, 0.072449, 0.084139, 0.093176, 0.13361", \
          "0.066108, 0.072526, 0.082909, 0.094136, 0.129964", \
          "0.06771, 0.073062, 0.083144, 0.093032, 0.127476", \
          "0.068291, 0.073042, 0.083768, 0.092995, 0.127196");
      }
    }
  }
}

/* -------------- *
 * Design : BUFX4 *
 * -------------- */
cell (BUFX4) {
  cell_footprint : buf;
area : 32;
  cell_leakage_power : 0.112874;
  pin(A)  {
    direction : input;
    capacitance : 0.0139855;
    rise_capacitance : 0.0139855;
    fall_capacitance : 0.013977;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 1.95039;
    function : "A";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.094477, 0.118917, 0.151175, 0.170545, 0.198697", \
          "0.108268, 0.136412, 0.17212, 0.189943, 0.218536", \
          "0.131873, 0.161346, 0.197906, 0.213426, 0.248242", \
          "0.219765, 0.24781, 0.283692, 0.300935, 0.338057", \
          "0.352268, 0.380624, 0.412859, 0.429202, 0.465845");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.046281, 0.039491, 0.057229, 0.058188, 0.0714", \
          "0.050589, 0.052795, 0.066, 0.0762, 0.0876", \
          "0.0804, 0.0822, 0.0924, 0.096, 0.111", \
          "0.1968, 0.195, 0.1986, 0.2004, 0.2088", \
          "0.378, 0.3786, 0.3798, 0.3798, 0.3834");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.096657, 0.137402, 0.190461, 0.220804, 0.300489", \
          "0.114807, 0.156287, 0.204939, 0.239659, 0.321534", \
          "0.138395, 0.179398, 0.231548, 0.262645, 0.349399", \
          "0.220463, 0.261654, 0.314512, 0.347774, 0.436449", \
          "0.34088, 0.380615, 0.434973, 0.466641, 0.554835");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.042949, 0.037058, 0.05589, 0.056171, 0.0708", \
          "0.05743, 0.0612, 0.0678, 0.0732, 0.0834", \
          "0.0774, 0.0786, 0.0834, 0.0924, 0.1044", \
          "0.1668, 0.1686, 0.1686, 0.1728, 0.1818", \
          "0.3168, 0.3168, 0.3174, 0.3192, 0.3228");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.079355, 0.092501, 0.114694, 0.133098, 0.19854", \
          "0.08082, 0.089804, 0.108722, 0.12801, 0.185272", \
          "0.081934, 0.089236, 0.106385, 0.124121, 0.177529", \
          "0.085841, 0.089194, 0.104203, 0.115974, 0.170571", \
          "0.086429, 0.090348, 0.104476, 0.116805, 0.167856");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.113213, 0.128563, 0.154335, 0.175638, 0.240473", \
          "0.118931, 0.129253, 0.143695, 0.166165, 0.225257", \
          "0.120815, 0.128692, 0.144521, 0.161484, 0.21689", \
          "0.123609, 0.128749, 0.144859, 0.158581, 0.208574", \
          "0.123005, 0.130448, 0.145475, 0.15896, 0.207448");
      }
    }
  }
}

/* ---------------- *
 * Design : CLKBUF1 *
 * ---------------- */
cell (CLKBUF1) {
  cell_footprint : buf;
area : 72;
  cell_leakage_power : 0.352221;
  pin(A)  {
    direction : input;
    capacitance : 0.0373913;
    rise_capacitance : 0.0373913;
    fall_capacitance : 0.0373758;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 1.95928;
    function : "A";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.168143, 0.183015, 0.204676, 0.218411, 0.224292, 0.227969", \
          "0.340692, 0.35709, 0.379018, 0.392042, 0.404133, 0.411802", \
          "0.642727, 0.659179, 0.681041, 0.704111, 0.705919, 0.713961", \
          "1.41986, 1.43638, 1.45833, 1.48108, 1.48603, 1.49136", \
          "1.85216, 1.86801, 1.88929, 1.9131, 1.91767, 1.92258", \
          "2.28372, 2.30018, 2.32154, 2.34438, 2.34984, 2.35428");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.0768, 0.072, 0.0738, 0.0762, 0.0744, 0.0768", \
          "0.3156, 0.3156, 0.315, 0.315, 0.3156, 0.3156", \
          "0.7452, 0.7452, 0.744, 0.7452, 0.7452, 0.7446", \
          "1.8504, 1.8504, 1.8504, 1.851, 1.8504, 1.851", \
          "2.466, 2.4654, 2.466, 2.4666, 2.4648, 2.466", \
          "3.0804, 3.081, 3.0798, 3.0798, 3.0804, 3.0804");
      }
      cell_fall(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.171898, 0.209013, 0.238962, 0.289989, 0.323338, 0.374155", \
          "0.330297, 0.368254, 0.398808, 0.448915, 0.482008, 0.538509", \
          "0.606906, 0.645017, 0.675653, 0.725812, 0.758901, 0.815565", \
          "1.31873, 1.35685, 1.38712, 1.43771, 1.47029, 1.52749", \
          "1.71431, 1.75246, 1.78241, 1.83326, 1.86622, 1.92306", \
          "2.10966, 2.14763, 2.17812, 2.22879, 2.26112, 2.31861");
      }
      fall_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.0648, 0.063, 0.0666, 0.0684, 0.0618, 0.0684", \
          "0.2616, 0.2616, 0.2628, 0.2628, 0.2628, 0.2628", \
          "0.6168, 0.6168, 0.6162, 0.6168, 0.6168, 0.6168", \
          "1.5312, 1.53, 1.5306, 1.5312, 1.5312, 1.5306", \
          "2.0394, 2.0394, 2.0382, 2.0394, 2.0394, 2.0388", \
          "2.5476, 2.5476, 2.5464, 2.5476, 2.5458, 2.5476");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.230035, 0.255216, 0.321324, 0.420025, 0.492297, 0.633715", \
          "0.234501, 0.258663, 0.327011, 0.423913, 0.490504, 0.638684", \
          "0.235402, 0.259609, 0.328388, 0.412522, 0.491125, 0.64063", \
          "0.234015, 0.260022, 0.328987, 0.41302, 0.488217, 0.641615", \
          "0.233949, 0.26015, 0.32931, 0.41342, 0.48807, 0.64199", \
          "0.23428, 0.26007, 0.32922, 0.413416, 0.488471, 0.642");
      }
      fall_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.353671, 0.385256, 0.429396, 0.538556, 0.609563, 0.759305", \
          "0.35517, 0.38778, 0.431764, 0.541422, 0.612262, 0.761955", \
          "0.355302, 0.388239, 0.432452, 0.541993, 0.613065, 0.763151", \
          "0.355385, 0.388522, 0.432782, 0.542278, 0.613428, 0.763567", \
          "0.355551, 0.388693, 0.433049, 0.542469, 0.613581, 0.763856", \
          "0.3556, 0.388816, 0.432977, 0.542237, 0.61366, 0.763712");
      }
    }
  }
}

/* ---------------- *
 * Design : CLKBUF2 *
 * ---------------- */
cell (CLKBUF2) {
  cell_footprint : buf;
area : 104;
  cell_leakage_power : 0.548764;
  pin(A)  {
    direction : input;
    capacitance : 0.037409;
    rise_capacitance : 0.037409;
    fall_capacitance : 0.0373773;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 1.96195;
    function : "A";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.231101, 0.25098, 0.270172, 0.286134, 0.291134, 0.293352", \
          "0.407523, 0.424195, 0.441497, 0.457232, 0.464429, 0.467226", \
          "0.709412, 0.726144, 0.743538, 0.759384, 0.766413, 0.772549", \
          "1.48587, 1.50277, 1.52051, 1.53634, 1.54292, 1.54911", \
          "1.9178, 1.93426, 1.95217, 1.96797, 1.97524, 1.98152", \
          "2.34982, 2.36644, 2.38381, 2.40013, 2.40661, 2.41316");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.0756, 0.072, 0.072, 0.0738, 0.0726, 0.0726", \
          "0.3144, 0.3156, 0.3156, 0.3156, 0.3156, 0.3156", \
          "0.7446, 0.7446, 0.7446, 0.7452, 0.7446, 0.7446", \
          "1.8498, 1.8504, 1.851, 1.8504, 1.8504, 1.8504", \
          "2.4648, 2.466, 2.466, 2.4654, 2.4654, 2.4654", \
          "3.0798, 3.0804, 3.0798, 3.081, 3.0804, 3.0792");
      }
      cell_fall(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.237151, 0.273513, 0.303669, 0.357429, 0.38715, 0.439064", \
          "0.395538, 0.432664, 0.462126, 0.516443, 0.546053, 0.597581", \
          "0.672499, 0.712585, 0.739108, 0.79317, 0.822941, 0.874386", \
          "1.38386, 1.42405, 1.45077, 1.50516, 1.53467, 1.58634", \
          "1.77945, 1.81979, 1.84606, 1.9007, 1.93037, 1.98171", \
          "2.17547, 2.21509, 2.24142, 2.29593, 2.32564, 2.37648");
      }
      fall_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.0624, 0.0678, 0.0654, 0.0618, 0.0666, 0.0642", \
          "0.2622, 0.2622, 0.2616, 0.2628, 0.2628, 0.2628", \
          "0.6168, 0.6168, 0.6168, 0.6168, 0.6162, 0.6168", \
          "1.5312, 1.5306, 1.5306, 1.5312, 1.5306, 1.53", \
          "2.0388, 2.0388, 2.0376, 2.0388, 2.0388, 2.0382", \
          "2.5476, 2.5464, 2.5458, 2.5476, 2.5482, 2.5464");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.407535, 0.42745, 0.493283, 0.589349, 0.665537, 0.813485", \
          "0.416735, 0.433198, 0.504101, 0.601088, 0.66997, 0.818487", \
          "0.417986, 0.434291, 0.505001, 0.601282, 0.670891, 0.80778", \
          "0.418682, 0.434887, 0.505709, 0.60217, 0.671759, 0.808482", \
          "0.418933, 0.434931, 0.505977, 0.602236, 0.671561, 0.80855", \
          "0.4189, 0.435265, 0.505945, 0.602361, 0.671877, 0.808502");
      }
      fall_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.528849, 0.563066, 0.602892, 0.706677, 0.780092, 0.934708", \
          "0.532688, 0.567377, 0.606397, 0.71032, 0.783573, 0.937407", \
          "0.533324, 0.559561, 0.606931, 0.711026, 0.784325, 0.937969", \
          "0.533553, 0.560266, 0.607245, 0.711439, 0.784616, 0.938267", \
          "0.533579, 0.560528, 0.6074, 0.711702, 0.784756, 0.938157", \
          "0.533815, 0.559945, 0.607495, 0.711832, 0.784615, 0.938139");
      }
    }
  }
}

/* ---------------- *
 * Design : CLKBUF3 *
 * ---------------- */
cell (CLKBUF3) {
  cell_footprint : buf;
area : 136;
  cell_leakage_power : 0.745304;
  pin(A)  {
    direction : input;
    capacitance : 0.0373938;
    rise_capacitance : 0.0373938;
    fall_capacitance : 0.0373674;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 1.96085;
    function : "A";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.294709, 0.31169, 0.33559, 0.351998, 0.355536, 0.360151", \
          "0.476517, 0.48564, 0.50671, 0.522794, 0.529119, 0.533172", \
          "0.778644, 0.787463, 0.808733, 0.824881, 0.831107, 0.835158", \
          "1.55587, 1.56467, 1.58567, 1.60104, 1.60814, 1.61162", \
          "1.98756, 1.99562, 2.01749, 2.03278, 2.03978, 2.04388", \
          "2.41922, 2.42762, 2.44964, 2.46398, 2.47131, 2.47588");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.0762, 0.0738, 0.0738, 0.0738, 0.0762, 0.0744", \
          "0.3156, 0.3144, 0.3156, 0.315, 0.3156, 0.3162", \
          "0.7446, 0.7446, 0.7452, 0.7446, 0.744, 0.7446", \
          "1.851, 1.8504, 1.8504, 1.8498, 1.8504, 1.8504", \
          "2.466, 2.466, 2.4654, 2.466, 2.4654, 2.466", \
          "3.0804, 3.081, 3.081, 3.0804, 3.0804, 3.0804");
      }
      cell_fall(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.301525, 0.339234, 0.3677, 0.420709, 0.45207, 0.503376", \
          "0.460268, 0.497618, 0.526095, 0.579533, 0.610902, 0.661892", \
          "0.737156, 0.774426, 0.802781, 0.856206, 0.887576, 0.938553", \
          "1.44891, 1.48629, 1.51461, 1.56821, 1.59963, 1.65006", \
          "1.84423, 1.88188, 1.90953, 1.96378, 1.99519, 2.04617", \
          "2.23985, 2.27754, 2.3052, 2.35909, 2.39074, 2.44139");
      }
      fall_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.0648, 0.0648, 0.0606, 0.0666, 0.0666, 0.0624", \
          "0.2622, 0.2616, 0.2628, 0.2622, 0.2622, 0.2622", \
          "0.6168, 0.6168, 0.6168, 0.6168, 0.6168, 0.6168", \
          "1.53, 1.5312, 1.5306, 1.5312, 1.5312, 1.5306", \
          "2.0388, 2.0394, 2.0388, 2.0388, 2.0388, 2.0388", \
          "2.5464, 2.5476, 2.5458, 2.5482, 2.5476, 2.5476");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.584981, 0.606793, 0.669461, 0.761461, 0.842257, 0.980551", \
          "0.577744, 0.611346, 0.681401, 0.773839, 0.845194, 0.985074", \
          "0.579438, 0.612296, 0.681589, 0.774684, 0.846157, 0.985993", \
          "0.580153, 0.612788, 0.683058, 0.77515, 0.846696, 0.986721", \
          "0.580353, 0.613088, 0.683115, 0.775092, 0.84689, 0.986983", \
          "0.580756, 0.612984, 0.683275, 0.775178, 0.846676, 0.987227");
      }
      fall_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.704098, 0.731354, 0.778711, 0.879269, 0.954459, 1.11027", \
          "0.705941, 0.735162, 0.782427, 0.882782, 0.957859, 1.11224", \
          "0.706445, 0.735857, 0.783021, 0.88338, 0.958398, 1.11296", \
          "0.706452, 0.736107, 0.783299, 0.883745, 0.958796, 1.11318", \
          "0.706528, 0.736197, 0.783541, 0.883923, 0.958804, 1.11305", \
          "0.706534, 0.736049, 0.783693, 0.883944, 0.958701, 1.11345");
      }
    }
  }
}

/* ----------------- *
 * Design : DFFNEGX1 *
 * ----------------- */
cell (DFFNEGX1) {
area : 96;
  cell_leakage_power : 0.155885;
  ff (DS0000,P0002) {
    next_state : "D";
    clocked_on : "(!CLK)";
  }
  pin(CLK)  {
    direction : input;
    capacitance : 0.0295634;
    rise_capacitance : 0.0293582;
    fall_capacitance : 0.0295634;
    clock : true;
    internal_power() {
      rise_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.037284, 0.04096, 0.059148, 0.107824, 0.1437, 0.218602");
      }
      fall_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.086451, 0.105124, 0.131012, 0.175654, 0.209051, 0.277005");
      }
    }
    min_pulse_width_high : 0.0939412;
    min_pulse_width_low : 0.104504;
  }
  pin(D)  {
    direction : input;
    capacitance : 0.00890146;
    rise_capacitance : 0.00881587;
    fall_capacitance : 0.00890146;
    internal_power() {
      rise_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.030829, 0.032759, 0.042528, 0.055396, 0.083943");
      }
      fall_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.097866, 0.100952, 0.108957, 0.117496, 0.148741");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : hold_falling;
      rise_constraint(hold_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0, -0.0875, -0.075, -0.1125, -0.08125", \
          "-0.10625, -0.1, -0.0875, -0.125, -0.1875", \
          "-0.16875, -0.1625, -0.15, -0.1875, -0.25");
      }
      fall_constraint(hold_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0, -0.0875, -0.075, -0.1125, -0.175", \
          "-0.0125, -0.00625, -0.0875, -0.125, -0.1875", \
          "0.01875, 0.025, -0.05625, -0.09375, -0.0625");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : setup_falling;
      rise_constraint(setup_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.1875, 0.18125, 0.16875, 0.20625, 0.26875", \
          "0.2, 0.19375, 0.18125, 0.21875, 0.28125", \
          "0.2625, 0.44375, 0.24375, 0.28125, 0.71875");
      }
      fall_constraint(setup_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.1875, 0.18125, 0.2625, 0.3, 0.3625", \
          "0.2, 0.19375, 0.275, 0.21875, 0.375", \
          "0.16875, 0.1625, 0.24375, 0.1875, 0.34375");
      }
    }
  }
  pin(Q)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.992362;
    function : "DS0000";
    timing() {
      related_pin : "CLK";
      timing_sense : non_unate;
      timing_type : falling_edge;
      cell_rise(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.127171, 0.157261, 0.193197, 0.242742, 0.272567, 0.320526", \
          "0.138941, 0.168471, 0.203551, 0.253043, 0.281605, 0.331377", \
          "0.152581, 0.183347, 0.217393, 0.266999, 0.293007, 0.344469", \
          "0.202583, 0.230235, 0.266411, 0.316181, 0.341026, 0.393926", \
          "0.268294, 0.296675, 0.332037, 0.382057, 0.409008, 0.460614");
      }
      rise_transition(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.035941, 0.036804, 0.041981, 0.042554, 0.039872, 0.044075", \
          "0.047854, 0.048167, 0.048199, 0.048987, 0.049388, 0.059309", \
          "0.057766, 0.0606, 0.0606, 0.0612, 0.063, 0.0624", \
          "0.1194, 0.1182, 0.12, 0.1212, 0.12, 0.12", \
          "0.2046, 0.2058, 0.204, 0.2058, 0.2058, 0.2064");
      }
      cell_fall(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.12194, 0.172988, 0.224116, 0.298592, 0.344721, 0.429327", \
          "0.132048, 0.18302, 0.234315, 0.309127, 0.35693, 0.443335", \
          "0.147217, 0.19846, 0.25123, 0.324558, 0.372696, 0.459914", \
          "0.198327, 0.250554, 0.302789, 0.377794, 0.426431, 0.515884", \
          "0.262685, 0.314083, 0.366272, 0.443553, 0.492671, 0.583101");
      }
      fall_transition(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.041908, 0.046796, 0.056173, 0.0744, 0.0762, 0.0888", \
          "0.048334, 0.053789, 0.0618, 0.0792, 0.087, 0.0984", \
          "0.0606, 0.066, 0.078, 0.084, 0.0942, 0.108", \
          "0.1122, 0.1134, 0.12, 0.1314, 0.1374, 0.1476", \
          "0.1794, 0.1812, 0.1878, 0.1932, 0.1974, 0.2064");
      }
    }
    internal_power() {
      related_pin : "CLK";
      rise_power(energy_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.146359, 0.162663, 0.190528, 0.240766, 0.277657, 0.349249", \
          "0.146218, 0.162653, 0.191643, 0.241715, 0.277774, 0.348517", \
          "0.146337, 0.162754, 0.191394, 0.240994, 0.276402, 0.34748", \
          "0.146945, 0.163341, 0.19181, 0.241151, 0.277252, 0.346929", \
          "0.148527, 0.163953, 0.193025, 0.242309, 0.277088, 0.347497");
      }
      fall_power(energy_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.144274, 0.170803, 0.212085, 0.283695, 0.33617, 0.436977", \
          "0.143072, 0.168248, 0.207577, 0.27871, 0.330148, 0.431632", \
          "0.142643, 0.167591, 0.20368, 0.273148, 0.323676, 0.424924", \
          "0.143936, 0.165886, 0.2005, 0.267703, 0.31655, 0.41505", \
          "0.14445, 0.165176, 0.199606, 0.265547, 0.313716, 0.411094");
      }
    }
  }
}

/* ----------------- *
 * Design : DFFPOSX1 *
 * ----------------- */
cell (DFFPOSX1) {
area : 96;
  cell_leakage_power : 0.160725;
  ff (DS0000,P0002) {
    next_state : "D";
    clocked_on : "CLK";
  }
  pin(CLK)  {
    direction : input;
    capacitance : 0.0279235;
    rise_capacitance : 0.0279235;
    fall_capacitance : 0.0274634;
    clock : true;
    internal_power() {
      rise_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.006865, 0.006943, 0.030508, 0.076138, 0.112244, 0.183321");
      }
      fall_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.11034, 0.129769, 0.160216, 0.216283, 0.258089, 0.338194");
      }
    }
    min_pulse_width_high : 0.106969;
    min_pulse_width_low : 0.09927;
  }
  pin(D)  {
    direction : input;
    capacitance : 0.00882947;
    rise_capacitance : 0.00882947;
    fall_capacitance : 0.00881001;
    internal_power() {
      rise_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.045424, 0.045977, 0.055651, 0.063033, 0.096119");
      }
      fall_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.08841, 0.087952, 0.097074, 0.107295, 0.139032");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : hold_rising;
      rise_constraint(hold_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0, 0.00625, -0.075, -0.01875, -0.08125", \
          "-0.0125, -0.00625, 0.00625, -0.03125, 0", \
          "0.01875, -0.06875, -0.05625, 0, -0.0625");
      }
      fall_constraint(hold_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "-0.09375, -0.0875, -0.075, -0.1125, -0.175", \
          "-0.10625, -0.19375, -0.18125, -0.21875, -0.28125", \
          "0.1125, 0.11875, -0.05625, -0.09375, -0.25");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : setup_rising;
      rise_constraint(setup_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.1875, 0.18125, 0.16875, 0.20625, 0.26875", \
          "0.2, 0.2875, 0.275, 0.3125, 0.28125", \
          "0.45, 0.35, 0.3375, 0.46875, 0.53125");
      }
      fall_constraint(setup_template_3x5) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.1875, 0.18125, 0.2625, 0.3, 0.3625", \
          "0.29375, 0.2875, 0.275, 0.3125, 0.375", \
          "0.91875, 0.35, 0.525, 0.65625, 0.4375");
      }
    }
  }
  pin(Q)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.967534;
    function : "DS0000";
    timing() {
      related_pin : "CLK";
      timing_sense : non_unate;
      timing_type : rising_edge;
      cell_rise(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.093526, 0.121034, 0.13421, 0.134398, 0.122773, 0.0926", \
          "0.10403, 0.130762, 0.143181, 0.144557, 0.132377, 0.104697", \
          "0.118023, 0.14606, 0.158231, 0.158041, 0.151991, 0.121227", \
          "0.166235, 0.192972, 0.208222, 0.211247, 0.203428, 0.179357", \
          "0.233467, 0.259728, 0.276539, 0.279342, 0.271987, 0.248208");
      }
      rise_transition(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.036088, 0.043386, 0.051719, 0.0678, 0.0702, 0.0774", \
          "0.04409, 0.050885, 0.0606, 0.0762, 0.0762, 0.084", \
          "0.057821, 0.0654, 0.0744, 0.0846, 0.096, 0.1026", \
          "0.1182, 0.1224, 0.1284, 0.1368, 0.1398, 0.1476", \
          "0.2052, 0.207, 0.2094, 0.216, 0.2208, 0.2286");
      }
      cell_fall(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.159821, 0.176886, 0.193318, 0.207708, 0.211849, 0.213209", \
          "0.169871, 0.18774, 0.204315, 0.217111, 0.221269, 0.221151", \
          "0.186934, 0.201494, 0.219369, 0.229968, 0.234471, 0.239765", \
          "0.235597, 0.250463, 0.267087, 0.28101, 0.285745, 0.288909", \
          "0.300793, 0.314188, 0.331092, 0.344623, 0.351457, 0.352857");
      }
      fall_transition(delay_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.041962, 0.04207, 0.045013, 0.042772, 0.04261, 0.04369", \
          "0.052151, 0.051175, 0.049987, 0.050183, 0.052505, 0.051007", \
          "0.066, 0.0624, 0.0654, 0.0636, 0.0618, 0.0678", \
          "0.1086, 0.1086, 0.1068, 0.1098, 0.108, 0.1116", \
          "0.1794, 0.18, 0.1788, 0.1812, 0.1812, 0.1824");
      }
    }
    internal_power() {
      related_pin : "CLK";
      rise_power(energy_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.040752, 0.06407, 0.099137, 0.162883, 0.207764, 0.296269", \
          "0.041217, 0.062027, 0.097688, 0.158665, 0.203554, 0.289681", \
          "0.04099, 0.061849, 0.09519, 0.156194, 0.200043, 0.285303", \
          "0.043452, 0.061538, 0.092194, 0.152786, 0.194912, 0.280997", \
          "0.044433, 0.06208, 0.091836, 0.150899, 0.194246, 0.279888");
      }
      fall_power(energy_template_5x6) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.064773, 0.076646, 0.104009, 0.152643, 0.185108, 0.255024", \
          "0.063395, 0.075613, 0.102582, 0.150636, 0.183907, 0.254132", \
          "0.060938, 0.076343, 0.099156, 0.149918, 0.183611, 0.25348", \
          "0.062326, 0.075376, 0.099814, 0.149755, 0.183003, 0.253934", \
          "0.062787, 0.07564, 0.100256, 0.149373, 0.182383, 0.253656");
      }
    }
  }
}

/* -------------- *
 * Design : DFFSR *
 * -------------- */
cell (DFFSR) {
area : 176;
  dont_use : true;
  cell_leakage_power : 0.27727;
  ff (P0002,P0003) {
    next_state : "D";
    clocked_on : "CLK";
    clear : "(!R)";
    preset : "(!S)";
    clear_preset_var1 : L;
  }
  pin(CLK)  {
    direction : input;
    capacitance : 0.00937511;
    rise_capacitance : 0.00932314;
    fall_capacitance : 0.00937511;
    clock : true;
    internal_power() {
      rise_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.041704, 0.046706, 0.061572, 0.084344, 0.106433, 0.145893");
      }
      fall_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.123008, 0.130168, 0.141509, 0.16925, 0.188732, 0.226953");
      }
    }
    min_pulse_width_high : 0.283301;
    min_pulse_width_low : 0.205581;
  }
  pin(D)  {
    direction : input;
    capacitance : 0.00940895;
    rise_capacitance : 0.00940895;
    fall_capacitance : 0.00932956;
    internal_power() {
      rise_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.088283, 0.087505, 0.100628, 0.129385, 0.145716, 0.182119");
      }
      fall_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.117272, 0.124444, 0.14019, 0.164994, 0.182539, 0.221408");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : hold_rising;
      when : "S&R";
      sdf_cond : "S\&R";
      rise_constraint(hold_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0, -0.0375, -0.025, -0.05, -0.08125, -0.05", \
          "-0.0125, -0.05, -0.0375, -0.0625, -0.09375, -0.0625", \
          "0.01875, -0.01875, -0.00625, -0.03125, -0.0625, -0.125");
      }
      fall_constraint(hold_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0, -0.0375, -0.025, -0.14375, -0.175, -0.2375", \
          "0.08125, 0.04375, -0.0375, -0.0625, -0.09375, -0.15625", \
          "0.1125, 0.075, -0.00625, -0.03125, -0.0625, -0.21875");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : setup_rising;
      when : "S&R";
      sdf_cond : "S\&R";
      rise_constraint(setup_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.09375, 0.13125, 0.2125, 0.2375, 0.175, 0.2375", \
          "0.10625, 0.14375, 0.13125, 0.15625, 0.1875, 0.15625", \
          "0.075, 0.1125, 0.1, 0.125, 0.15625, 0.21875");
      }
      fall_constraint(setup_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.09375, 0.13125, 0.2125, 0.2375, 0.26875, 0.33125", \
          "0.10625, 0.14375, 0.13125, 0.25, 0.28125, 0.34375", \
          "0.075, 0.1125, 0.19375, 0.21875, 0.25, 0.3125");
      }
    }
  }
  pin(Q)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.468113;
    function : "P0002";
    timing() {
      related_pin : "CLK";
      timing_sense : non_unate;
      timing_type : rising_edge;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.387715, 0.4242, 0.449241, 0.479863, 0.493378, 0.510336", \
          "1.0593, 1.0961, 1.12132, 1.15077, 1.16518, 1.18191", \
          "2.23385, 2.27146, 2.29657, 2.32582, 2.33969, 2.35696", \
          "5.2553, 5.2922, 5.31832, 5.34803, 5.36054, 5.37695", \
          "6.93294, 6.96936, 6.99478, 7.02496, 7.04016, 7.05535", \
          "8.61201, 8.64857, 8.67436, 8.70236, 8.71621, 8.73283");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.249, 0.249, 0.249, 0.249, 0.2478, 0.249", \
          "1.2018, 1.2, 1.2024, 1.2006, 1.2018, 1.2006", \
          "2.8728, 2.874, 2.8734, 2.8734, 2.8728, 2.874", \
          "7.1718, 7.1718, 7.1724, 7.1712, 7.1724, 7.1724", \
          "9.5604, 9.5604, 9.561, 9.5604, 9.5604, 9.561", \
          "11.949, 11.949, 11.9484, 11.949, 11.9496, 11.949");
      }
      cell_fall(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.381095, 0.414212, 0.432258, 0.455285, 0.464189, 0.473544", \
          "0.969567, 1.00258, 1.02077, 1.04374, 1.05286, 1.06194", \
          "1.99852, 2.03201, 2.05037, 2.07286, 2.0826, 2.09148", \
          "4.64736, 4.68053, 4.69836, 4.72175, 4.73048, 4.74011", \
          "6.11846, 6.15174, 6.16849, 6.19271, 6.2017, 6.20769", \
          "7.5897, 7.62114, 7.63829, 7.66214, 7.67262, 7.67916");
      }
      fall_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1992, 0.1998, 0.1992, 0.1998, 0.1992, 0.198", \
          "0.9498, 0.9498, 0.9498, 0.9492, 0.9492, 0.9498", \
          "2.271, 2.271, 2.2704, 2.271, 2.271, 2.2698", \
          "5.6688, 5.6682, 5.6682, 5.6676, 5.6682, 5.6682", \
          "7.5552, 7.5546, 7.5522, 7.5546, 7.5552, 7.5492", \
          "9.4416, 9.441, 9.438, 9.441, 9.4416, 9.438");
      }
    }
    timing() {
      related_pin : "R";
      timing_sense : positive_unate;
      timing_type : clear;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.255245, 0.267211, 0.272748, 0.270558, 0.263299, 0.239588", \
          "0.927233, 0.939028, 0.945323, 0.943953, 0.937484, 0.91901", \
          "2.10242, 2.11391, 2.1206, 2.1188, 2.11337, 2.09441", \
          "5.1226, 5.13558, 5.14239, 5.14108, 5.13447, 5.11702", \
          "6.8014, 6.81238, 6.8206, 6.82046, 6.81426, 6.7949", \
          "8.48041, 8.48981, 8.49679, 8.49628, 8.49257, 8.47179");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.2484, 0.2472, 0.2484, 0.2532, 0.2574, 0.2652", \
          "1.2, 1.2006, 1.2012, 1.2018, 1.2024, 1.2048", \
          "2.8746, 2.874, 2.874, 2.874, 2.874, 2.8722", \
          "7.1724, 7.1712, 7.1724, 7.1724, 7.1718, 7.1724", \
          "9.5604, 9.561, 9.5598, 9.5586, 9.5574, 9.5604", \
          "11.9484, 11.949, 11.949, 11.9496, 11.949, 11.9496");
      }
      cell_fall(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.262875, 0.324685, 0.387813, 0.478452, 0.536493, 0.645793", \
          "0.851442, 0.913295, 0.975835, 1.06676, 1.12496, 1.23348", \
          "1.88088, 1.94277, 2.00526, 2.09652, 2.15413, 2.26351", \
          "4.52922, 4.59101, 4.65322, 4.74343, 4.80087, 4.91083", \
          "6.00047, 6.06223, 6.12484, 6.2146, 6.27193, 6.38037", \
          "7.47138, 7.53306, 7.59593, 7.68652, 7.74417, 7.85151");
      }
      fall_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1992, 0.2007, 0.2013, 0.2028, 0.204, 0.2052", \
          "0.9486, 0.9489, 0.9492, 0.9501, 0.9504, 0.951", \
          "2.2698, 2.2707, 2.2698, 2.2698, 2.2704, 2.2704", \
          "5.6664, 5.6679, 5.6652, 5.667, 5.6652, 5.6649", \
          "7.5516, 7.5534, 7.5534, 7.5525, 7.5498, 7.5498", \
          "9.4386, 9.4419, 9.4413, 9.4419, 9.4392, 9.4386");
      }
    }
    timing() {
      related_pin : "S";
      timing_sense : negative_unate;
      timing_type : preset;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.344773, 0.399864, 0.446316, 0.525767, 0.573992, 0.666461", \
          "1.01865, 1.07188, 1.1183, 1.19933, 1.24819, 1.33808", \
          "2.19343, 2.24681, 2.29288, 2.37423, 2.42321, 2.51328", \
          "5.21504, 5.26772, 5.31423, 5.39634, 5.44478, 5.53429", \
          "6.89381, 6.94555, 6.99241, 7.0739, 7.12265, 7.21244", \
          "8.57089, 8.62568, 8.67173, 8.75022, 8.80049, 8.88991");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.2481, 0.2487, 0.2484, 0.2484, 0.2487, 0.2484", \
          "1.2021, 1.2012, 1.2015, 1.2018, 1.2015, 1.2012", \
          "2.8728, 2.8737, 2.8725, 2.8728, 2.8734, 2.8734", \
          "7.1712, 7.1721, 7.1721, 7.1718, 7.1721, 7.1718", \
          "9.5598, 9.5607, 9.5604, 9.5604, 9.5601, 9.5604", \
          "11.9493, 11.9487, 11.949, 11.949, 11.9493, 11.949");
      }
    }
    internal_power() {
      related_pin : "CLK";
      rise_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.151048, 0.158622, 0.171511, 0.198768, 0.218728, 0.261211", \
          "0.151825, 0.159701, 0.172467, 0.200096, 0.219924, 0.261879", \
          "0.15194, 0.160143, 0.172798, 0.200608, 0.220285, 0.262227", \
          "0.151944, 0.160856, 0.173235, 0.201487, 0.221175, 0.262197", \
          "0.152164, 0.161005, 0.173711, 0.201586, 0.222216, 0.26255", \
          "0.15174, 0.161323, 0.173527, 0.201327, 0.220975, 0.263137");
      }
      fall_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.141227, 0.150979, 0.161428, 0.189053, 0.207561, 0.246194", \
          "0.141671, 0.151133, 0.161697, 0.189503, 0.207945, 0.246892", \
          "0.141959, 0.151299, 0.161897, 0.1897, 0.207945, 0.246928", \
          "0.142566, 0.151503, 0.161463, 0.189777, 0.208281, 0.247071", \
          "0.142479, 0.151289, 0.16179, 0.189948, 0.208155, 0.247255", \
          "0.142818, 0.151617, 0.161884, 0.18964, 0.207948, 0.247395");
      }
    }
    internal_power() {
      related_pin : "R";
      rise_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.045492, 0.062305, 0.088334, 0.143928, 0.185508, 0.269919", \
          "0.046712, 0.063494, 0.089542, 0.145009, 0.186228, 0.269839", \
          "0.047174, 0.063914, 0.089887, 0.145658, 0.186844, 0.270401", \
          "0.047779, 0.064828, 0.090518, 0.146173, 0.187214, 0.271169", \
          "0.048538, 0.064695, 0.090025, 0.14627, 0.188292, 0.270964", \
          "0.049886, 0.064719, 0.090939, 0.145803, 0.187952, 0.271418");
      }
      fall_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.155704, 0.173754, 0.203811, 0.256892, 0.29055, 0.350772", \
          "0.156347, 0.174395, 0.20423, 0.256484, 0.289596, 0.349078", \
          "0.156642, 0.174668, 0.204576, 0.256703, 0.289826, 0.349161", \
          "0.156902, 0.174751, 0.204971, 0.257079, 0.290016, 0.349805", \
          "0.157086, 0.17465, 0.205296, 0.257578, 0.290391, 0.349282", \
          "0.157219, 0.175227, 0.205143, 0.25757, 0.290435, 0.349746");
      }
    }
    internal_power() {
      related_pin : "S";
      power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.15628, 0.170156, 0.19269, 0.238568, 0.270569, 0.331301", \
          "0.156928, 0.171426, 0.193829, 0.2389, 0.271492, 0.332601", \
          "0.157284, 0.171847, 0.194132, 0.239121, 0.271853, 0.333062", \
          "0.158082, 0.172581, 0.194372, 0.239638, 0.272424, 0.333474", \
          "0.158841, 0.172592, 0.194391, 0.239616, 0.273092, 0.333673", \
          "0.158095, 0.172153, 0.193866, 0.239884, 0.27239, 0.334038");
      }
    }
  }
  pin(R)  {
    direction : input;
    capacitance : 0.0255048;
    rise_capacitance : 0.0255048;
    fall_capacitance : 0.0220338;
    min_pulse_width_low : 0.152176;
    timing() {
      related_pin : "CLK";
      timing_type : recovery_rising;
      when : "D&S";
      sdf_cond : "D\&S";
      rise_constraint(recovery_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "-0.09375, -0.05625, 0.025, 0.05, 0.175, 0.33125", \
          "-0.08125, -0.1375, -0.05625, -0.03125, 0, 0.25", \
          "-0.1125, -0.16875, -0.0875, -0.0625, -0.03125, 0.125");
      }
    }
    timing() {
      related_pin : "S";
      timing_type : recovery_rising;
      rise_constraint(recovery_template_6x6) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0, 0.05625, 0.06875, 0.04375, 0.10625, 0.1375", \
          "0.0375, 0, 0.0125, 0.08125, 0.05, 0.128125", \
          "0.025, 0.034375, 0, 0.06875, 0.084375, 0.115625", \
          "0.003125, 0.0125, 0.025, 0.046875, 0.0625, 0.09375", \
          "-0.0125, -0.003125, -0.0375, 0.03125, 0.046875, 0.078125", \
          "-0.04375, -0.034375, -0.06875, 0, -0.03125, 0.046875");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : removal_rising;
      when : "D&S";
      sdf_cond : "D\&S";
      rise_constraint(removal_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1875, 0.24375, 0.25625, 0.325, 0.3875, 0.41875", \
          "0.26875, 0.23125, 0.24375, 0.3125, 0.375, 0.5", \
          "0.3, 0.2625, 0.275, 0.34375, 0.40625, 0.4375");
      }
    }
  }
  pin(S)  {
    direction : input;
    capacitance : 0.0230606;
    rise_capacitance : 0.0141532;
    fall_capacitance : 0.0230606;
    internal_power() {
      rise_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.036159, 0.033603, 0.035396, 0.034302, 0.033581, 0.034303");
      }
      fall_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0, 0, 0, 0, 0, 0");
      }
    }
    min_pulse_width_low : 0.199049;
    timing() {
      related_pin : "CLK";
      timing_type : recovery_rising;
      when : "!D&R";
      sdf_cond : "\~D\&R";
      rise_constraint(recovery_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0, 0.0375, 0.025, 0.14375, 0.08125, 0.2375", \
          "0.0125, 0.05, 0.0375, 0.0625, 0.09375, 0.15625", \
          "-0.01875, 0.01875, 0.00625, 0.03125, 0.0625, 0.21875");
      }
    }
    timing() {
      related_pin : "R";
      timing_type : recovery_rising;
      rise_constraint(recovery_template_6x6) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.09375, 0.05625, 0.06875, 0.090625, 0.10625, 0.1375", \
          "0.0375, 0.09375, 0.10625, 0.08125, 0.096875, 0.128125", \
          "0.025, 0.08125, 0.09375, 0.06875, 0.084375, 0.1625", \
          "0.05, 0.0125, 0.025, 0.046875, 0.0625, 0.09375", \
          "0.034375, 0.04375, 0.009375, 0.03125, 0.046875, 0.125", \
          "0.003125, -0.034375, -0.021875, 0, 0.015625, 0.046875");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : removal_rising;
      when : "!D&R";
      sdf_cond : "\~D\&R";
      rise_constraint(removal_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.09375, 0.05625, 0.06875, 0.04375, 0.10625, 0.04375", \
          "0.175, 0.1375, 0.05625, 0.125, 0.09375, 0.125", \
          "0.1125, 0.16875, 0.0875, 0.0625, 0.125, 0.15625");
      }
    }
  }
}

/* ------------- *
 * Design : FAX1 *
 * ------------- */
cell (FAX1) {
area : 120;
  cell_leakage_power : 0.230647;
  pin(A)  {
    direction : input;
    capacitance : 0.0613054;
    rise_capacitance : 0.0606345;
    fall_capacitance : 0.0613054;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.05692;
    rise_capacitance : 0.05692;
    fall_capacitance : 0.0549316;
  }
  pin(C)  {
    direction : input;
    capacitance : 0.0416003;
    rise_capacitance : 0.0416003;
    fall_capacitance : 0.04156;
  }
  pin(YC)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.497776;
    function : "(((A B)+(B C))+(C A))";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.110961, 0.128075, 0.1516, 0.167167, 0.190781", \
          "0.130601, 0.147139, 0.171029, 0.186307, 0.212628", \
          "0.154326, 0.172367, 0.200121, 0.213629, 0.243016", \
          "0.244814, 0.262639, 0.291037, 0.305225, 0.339785", \
          "0.372364, 0.389878, 0.418591, 0.432655, 0.468862");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.034724, 0.036496, 0.040349, 0.05232, 0.05513", \
          "0.05407, 0.054239, 0.058178, 0.0663, 0.0747", \
          "0.0777, 0.0834, 0.0903, 0.0912, 0.1002", \
          "0.1938, 0.1944, 0.1959, 0.1989, 0.2055", \
          "0.3687, 0.369, 0.3705, 0.3714, 0.3747");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.133895, 0.155633, 0.191369, 0.2175, 0.293908", \
          "0.152322, 0.174355, 0.212242, 0.238006, 0.316257", \
          "0.177897, 0.200656, 0.239699, 0.266038, 0.34816", \
          "0.263185, 0.285715, 0.327493, 0.355817, 0.442452", \
          "0.375727, 0.398327, 0.440573, 0.470266, 0.558082");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.039038, 0.038593, 0.050291, 0.051711, 0.061636", \
          "0.052901, 0.050905, 0.0624, 0.061602, 0.0705", \
          "0.0741, 0.0753, 0.0831, 0.0849, 0.0936", \
          "0.1623, 0.1632, 0.1662, 0.1689, 0.1782", \
          "0.2958, 0.2955, 0.2973, 0.2991, 0.303");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.11476, 0.135987, 0.16121, 0.173508, 0.200806", \
          "0.133581, 0.154327, 0.181009, 0.194579, 0.222158", \
          "0.159361, 0.180709, 0.209291, 0.223078, 0.25317", \
          "0.249995, 0.271007, 0.30202, 0.316622, 0.350916", \
          "0.377283, 0.398337, 0.43029, 0.445191, 0.480202");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038642, 0.039314, 0.045251, 0.043585, 0.058504", \
          "0.052925, 0.054573, 0.0627, 0.0648, 0.0729", \
          "0.0828, 0.0834, 0.0897, 0.0924, 0.1029", \
          "0.195, 0.1956, 0.1992, 0.2007, 0.2079", \
          "0.3693, 0.3684, 0.3711, 0.3729, 0.3762");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.134739, 0.162025, 0.20358, 0.230737, 0.313007", \
          "0.153404, 0.181647, 0.223749, 0.253855, 0.339344", \
          "0.180482, 0.208858, 0.251188, 0.283223, 0.369465", \
          "0.267421, 0.295778, 0.342971, 0.375215, 0.465786", \
          "0.380838, 0.409362, 0.458422, 0.491805, 0.583521");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.044455, 0.036854, 0.041074, 0.047622, 0.056824", \
          "0.052948, 0.053563, 0.05985, 0.063435, 0.0735", \
          "0.078, 0.0804, 0.0834, 0.0906, 0.0966", \
          "0.1638, 0.1659, 0.1713, 0.1746, 0.1815", \
          "0.297, 0.2973, 0.3012, 0.3042, 0.3078");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.109702, 0.132682, 0.165136, 0.180248, 0.211225", \
          "0.125675, 0.151973, 0.18654, 0.202286, 0.235363", \
          "0.150952, 0.178149, 0.214452, 0.230656, 0.266633", \
          "0.241765, 0.268351, 0.305137, 0.323826, 0.364625", \
          "0.369534, 0.395458, 0.432847, 0.45156, 0.492283");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.039084, 0.036944, 0.045434, 0.04891, 0.058904", \
          "0.052615, 0.054065, 0.0651, 0.0708, 0.0816", \
          "0.0798, 0.0807, 0.0933, 0.0957, 0.105", \
          "0.1941, 0.1953, 0.1977, 0.2004, 0.2061", \
          "0.369, 0.369, 0.3702, 0.3708, 0.3735");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.121862, 0.159349, 0.209459, 0.244319, 0.337679", \
          "0.142508, 0.178687, 0.232523, 0.266623, 0.361761", \
          "0.169443, 0.207156, 0.263743, 0.296007, 0.397463", \
          "0.256454, 0.294002, 0.354327, 0.389602, 0.493712", \
          "0.369994, 0.407462, 0.468873, 0.505373, 0.609741");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037254, 0.040396, 0.054151, 0.055881, 0.0714", \
          "0.053461, 0.05241, 0.0633, 0.0687, 0.081", \
          "0.075, 0.0774, 0.0861, 0.0894, 0.1032", \
          "0.1662, 0.1653, 0.1716, 0.1731, 0.1815", \
          "0.297, 0.2973, 0.2997, 0.3018, 0.3057");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.007466, 0.006824, 0.019945, 0.030237, 0.060247", \
          "0.007781, 0.009663, 0.019533, 0.028757, 0.058276", \
          "0.009603, 0.01151, 0.02075, 0.028254, 0.057467", \
          "0.011239, 0.012692, 0.020968, 0.028039, 0.056866", \
          "0.011618, 0.012838, 0.020969, 0.028073, 0.056587");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.137117, 0.137859, 0.147519, 0.1579, 0.188671", \
          "0.139337, 0.139992, 0.146761, 0.155933, 0.187897", \
          "0.140148, 0.140413, 0.148995, 0.155314, 0.186999", \
          "0.140706, 0.141603, 0.149331, 0.156135, 0.186049", \
          "0.141124, 0.14205, 0.149664, 0.156595, 0.186534");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.020977, 0.016769, 0.028506, 0.037122, 0.06575", \
          "0.021323, 0.021127, 0.027771, 0.037435, 0.064538", \
          "0.02299, 0.02218, 0.028788, 0.036974, 0.06455", \
          "0.024243, 0.02359, 0.029653, 0.036487, 0.063384", \
          "0.024575, 0.024024, 0.029942, 0.036647, 0.062954");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.127293, 0.127927, 0.133519, 0.143645, 0.173349", \
          "0.128426, 0.128439, 0.136064, 0.144179, 0.172543", \
          "0.129915, 0.129742, 0.136701, 0.143946, 0.171524", \
          "0.130654, 0.130271, 0.137166, 0.14483, 0.170651", \
          "0.131043, 0.130674, 0.137556, 0.14511, 0.171284");
      }
    }
    internal_power() {
      related_pin : "C";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.035808, 0.035489, 0.044592, 0.051538, 0.079147", \
          "0.036017, 0.035802, 0.043906, 0.051867, 0.077981", \
          "0.037705, 0.036801, 0.044343, 0.051059, 0.077119", \
          "0.039283, 0.038198, 0.044045, 0.051184, 0.076567", \
          "0.039825, 0.03845, 0.044375, 0.051195, 0.07665");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.109316, 0.111416, 0.117667, 0.128347, 0.156639", \
          "0.112156, 0.112979, 0.120978, 0.127124, 0.155339", \
          "0.112995, 0.114118, 0.121699, 0.126441, 0.153897", \
          "0.113217, 0.114428, 0.121547, 0.127901, 0.152452", \
          "0.113603, 0.114684, 0.121592, 0.127952, 0.152668");
      }
    }
  }
  pin(YS)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.489093;
    function : "((A^B)^C)";
    timing() {
      related_pin : "A";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.198183, 0.22063, 0.259412, 0.287266, 0.367605", \
          "0.21377, 0.235995, 0.273259, 0.300061, 0.38353", \
          "0.236314, 0.258625, 0.29837, 0.323221, 0.405175", \
          "0.321968, 0.343793, 0.382244, 0.407984, 0.488959", \
          "0.447254, 0.469405, 0.506264, 0.534698, 0.617398");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037797, 0.039201, 0.03673, 0.038477, 0.039783", \
          "0.050172, 0.052297, 0.053855, 0.05436, 0.056819", \
          "0.0762, 0.0774, 0.0756, 0.0789, 0.0789", \
          "0.1899, 0.1905, 0.1896, 0.1887, 0.1908", \
          "0.366, 0.3663, 0.3666, 0.3666, 0.3666");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.179906, 0.198864, 0.221325, 0.23664, 0.262513", \
          "0.197175, 0.214473, 0.238905, 0.255863, 0.280951", \
          "0.223018, 0.240051, 0.265965, 0.279625, 0.304494", \
          "0.303623, 0.320228, 0.345878, 0.359077, 0.383134", \
          "0.414797, 0.431443, 0.456678, 0.468045, 0.494199");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.035764, 0.038967, 0.037141, 0.034726, 0.035765", \
          "0.048585, 0.05173, 0.053486, 0.054128, 0.05515", \
          "0.0723, 0.0732, 0.0756, 0.0759, 0.0768", \
          "0.1581, 0.1584, 0.159, 0.1581, 0.1593", \
          "0.2937, 0.2928, 0.2928, 0.2934, 0.2925");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.202117, 0.231199, 0.276088, 0.304101, 0.392641", \
          "0.218949, 0.245499, 0.292062, 0.321212, 0.408316", \
          "0.24145, 0.268402, 0.310025, 0.343549, 0.42776", \
          "0.32668, 0.35353, 0.395463, 0.42947, 0.513406", \
          "0.452468, 0.479998, 0.521574, 0.555072, 0.63896");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037337, 0.044051, 0.039734, 0.040894, 0.035759", \
          "0.050144, 0.055434, 0.055747, 0.057998, 0.05534", \
          "0.0816, 0.0801, 0.0765, 0.0798, 0.0768", \
          "0.1902, 0.1899, 0.1902, 0.1884, 0.1905", \
          "0.3669, 0.3666, 0.3669, 0.3669, 0.3666");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.185393, 0.20353, 0.23274, 0.244705, 0.274081", \
          "0.204116, 0.222138, 0.24931, 0.261169, 0.289819", \
          "0.228238, 0.246207, 0.274022, 0.286163, 0.312778", \
          "0.309031, 0.325896, 0.352465, 0.365124, 0.391495", \
          "0.420284, 0.436555, 0.465196, 0.475751, 0.504204");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.03854, 0.036548, 0.034395, 0.0348, 0.034625", \
          "0.050765, 0.054813, 0.051472, 0.051291, 0.055094", \
          "0.0738, 0.0738, 0.0741, 0.0744, 0.0783", \
          "0.1569, 0.1578, 0.1557, 0.1566, 0.1581", \
          "0.2937, 0.2937, 0.2928, 0.2925, 0.2934");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.198886, 0.231292, 0.283268, 0.317909, 0.415721", \
          "0.209685, 0.244193, 0.297881, 0.330434, 0.428519", \
          "0.232007, 0.267345, 0.319887, 0.352255, 0.448891", \
          "0.317976, 0.354153, 0.405449, 0.439606, 0.5336", \
          "0.444198, 0.482263, 0.531046, 0.568327, 0.661703");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.040325, 0.041068, 0.03271, 0.040722, 0.038196", \
          "0.050494, 0.052706, 0.049769, 0.053343, 0.051024", \
          "0.0774, 0.0783, 0.0741, 0.0759, 0.0783", \
          "0.1896, 0.1908, 0.1899, 0.1893, 0.1905", \
          "0.3678, 0.3669, 0.3678, 0.3678, 0.3675");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.182744, 0.205478, 0.235746, 0.249718, 0.282904", \
          "0.199541, 0.21712, 0.251752, 0.267096, 0.300069", \
          "0.221615, 0.240859, 0.273688, 0.287033, 0.320866", \
          "0.299374, 0.317787, 0.349653, 0.363724, 0.396233", \
          "0.410155, 0.430433, 0.460409, 0.475767, 0.50694");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.031091, 0.038205, 0.032021, 0.031051, 0.033051", \
          "0.044424, 0.05168, 0.051882, 0.048639, 0.054146", \
          "0.0705, 0.0684, 0.0675, 0.0702, 0.0747", \
          "0.1554, 0.1554, 0.1548, 0.1545, 0.1551", \
          "0.2925, 0.2919, 0.2922, 0.2919, 0.2928");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.137117, 0.137859, 0.147519, 0.1579, 0.188671", \
          "0.139337, 0.139992, 0.146761, 0.155933, 0.187897", \
          "0.140148, 0.140413, 0.148995, 0.155314, 0.186999", \
          "0.140706, 0.141603, 0.149331, 0.156135, 0.186049", \
          "0.141124, 0.14205, 0.149664, 0.156595, 0.186534");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.007466, 0.006824, 0.019945, 0.030237, 0.060247", \
          "0.007781, 0.009663, 0.019533, 0.028757, 0.058276", \
          "0.009603, 0.01151, 0.02075, 0.028254, 0.057467", \
          "0.011239, 0.012692, 0.020968, 0.028039, 0.056866", \
          "0.011618, 0.012838, 0.020969, 0.028073, 0.056587");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.127293, 0.127927, 0.133519, 0.143645, 0.173349", \
          "0.128426, 0.128439, 0.136064, 0.144179, 0.172543", \
          "0.129915, 0.129742, 0.136701, 0.143946, 0.171524", \
          "0.130654, 0.130271, 0.137166, 0.14483, 0.170651", \
          "0.131043, 0.130674, 0.137556, 0.14511, 0.171284");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.020977, 0.016769, 0.028506, 0.037122, 0.06575", \
          "0.021323, 0.021127, 0.027771, 0.037435, 0.064538", \
          "0.02299, 0.02218, 0.028788, 0.036974, 0.06455", \
          "0.024243, 0.02359, 0.029653, 0.036487, 0.063384", \
          "0.024575, 0.024024, 0.029942, 0.036647, 0.062954");
      }
    }
    internal_power() {
      related_pin : "C";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.109316, 0.111416, 0.117667, 0.128347, 0.156639", \
          "0.112156, 0.112979, 0.120978, 0.127124, 0.155339", \
          "0.112995, 0.114118, 0.121699, 0.126441, 0.153897", \
          "0.113217, 0.114428, 0.121547, 0.127901, 0.152452", \
          "0.113603, 0.114684, 0.121592, 0.127952, 0.152668");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.035808, 0.035489, 0.044592, 0.051538, 0.079147", \
          "0.036017, 0.035802, 0.043906, 0.051867, 0.077981", \
          "0.037705, 0.036801, 0.044343, 0.051059, 0.077119", \
          "0.039283, 0.038198, 0.044045, 0.051184, 0.076567", \
          "0.039825, 0.03845, 0.044375, 0.051195, 0.07665");
      }
    }
  }
}

/* ------------- *
 * Design : HAX1 *
 * ------------- */
cell (HAX1) {
area : 80;
  cell_leakage_power : 0.161137;
  pin(A)  {
    direction : input;
    capacitance : 0.0247171;
    rise_capacitance : 0.0246331;
    fall_capacitance : 0.0247171;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0211106;
    rise_capacitance : 0.0211106;
    fall_capacitance : 0.0210191;
  }
  pin(YC)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.502594;
    function : "(A B)";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.085358, 0.094012, 0.100275, 0.099453, 0.082882", \
          "0.101778, 0.112779, 0.119221, 0.119581, 0.104536", \
          "0.125066, 0.13649, 0.147553, 0.148647, 0.135188", \
          "0.211867, 0.22364, 0.234494, 0.238289, 0.228946", \
          "0.338223, 0.349942, 0.361144, 0.364776, 0.35749");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.029846, 0.033511, 0.039111, 0.042072, 0.0678", \
          "0.047394, 0.054259, 0.056519, 0.059846, 0.0768", \
          "0.0768, 0.078, 0.0858, 0.0888, 0.0966", \
          "0.1902, 0.1908, 0.192, 0.1956, 0.2022", \
          "0.3666, 0.3666, 0.3678, 0.369, 0.3732");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.108843, 0.148356, 0.210329, 0.252769, 0.367948", \
          "0.125339, 0.1652, 0.233502, 0.272277, 0.389844", \
          "0.1487, 0.188581, 0.257852, 0.298306, 0.419765", \
          "0.227414, 0.267177, 0.338186, 0.379907, 0.504804", \
          "0.338046, 0.377809, 0.449292, 0.490981, 0.616712");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.030945, 0.034479, 0.041411, 0.043358, 0.069", \
          "0.049692, 0.046589, 0.06, 0.058864, 0.0762", \
          "0.066, 0.0696, 0.0768, 0.0786, 0.09", \
          "0.1542, 0.1542, 0.159, 0.1608, 0.1692", \
          "0.2916, 0.2922, 0.2922, 0.294, 0.297");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.083223, 0.097317, 0.114316, 0.119069, 0.118286", \
          "0.099521, 0.115173, 0.133598, 0.139531, 0.142715", \
          "0.122739, 0.137849, 0.15908, 0.168142, 0.170798", \
          "0.209715, 0.226246, 0.247335, 0.256975, 0.264658", \
          "0.336211, 0.352081, 0.374516, 0.383711, 0.391929");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.029604, 0.034946, 0.039841, 0.042991, 0.056287", \
          "0.047447, 0.05219, 0.059766, 0.059756, 0.075", \
          "0.078, 0.078, 0.0834, 0.0888, 0.0954", \
          "0.1902, 0.1908, 0.1926, 0.195, 0.2022", \
          "0.3672, 0.3666, 0.369, 0.369, 0.372");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.097136, 0.136274, 0.188809, 0.226182, 0.327261", \
          "0.114498, 0.156371, 0.207832, 0.245453, 0.35214", \
          "0.137501, 0.179508, 0.235227, 0.272065, 0.380852", \
          "0.216183, 0.258107, 0.316202, 0.356775, 0.466672", \
          "0.327126, 0.3686, 0.427276, 0.468319, 0.579168");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.029882, 0.039079, 0.036229, 0.045811, 0.052498", \
          "0.044321, 0.053219, 0.054172, 0.056233, 0.0708", \
          "0.0642, 0.066, 0.0762, 0.0786, 0.0924", \
          "0.1542, 0.1536, 0.1578, 0.1596, 0.1674", \
          "0.291, 0.2922, 0.294, 0.2946, 0.2982");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037026, 0.033786, 0.042761, 0.048825, 0.072809", \
          "0.037638, 0.034849, 0.042862, 0.048604, 0.071392", \
          "0.038414, 0.035234, 0.043727, 0.049392, 0.070211", \
          "0.039016, 0.036021, 0.04298, 0.049002, 0.069506", \
          "0.0393, 0.036454, 0.043253, 0.048934, 0.069391");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.077084, 0.078004, 0.086945, 0.094421, 0.118606", \
          "0.07744, 0.078311, 0.088214, 0.094018, 0.116461", \
          "0.077756, 0.078449, 0.088388, 0.093451, 0.115465", \
          "0.078677, 0.079201, 0.088598, 0.093644, 0.115553", \
          "0.079144, 0.079244, 0.088865, 0.094032, 0.116101");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.047187, 0.04301, 0.052467, 0.058987, 0.084861", \
          "0.047188, 0.043824, 0.053109, 0.059138, 0.083706", \
          "0.047529, 0.043539, 0.052945, 0.059775, 0.082777", \
          "0.048555, 0.044674, 0.052352, 0.059345, 0.083031", \
          "0.049041, 0.045208, 0.052753, 0.059207, 0.083092");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.06765, 0.070247, 0.075598, 0.081985, 0.106254", \
          "0.067897, 0.069771, 0.075292, 0.081491, 0.104973", \
          "0.068347, 0.069856, 0.076452, 0.081147, 0.104028", \
          "0.068946, 0.070314, 0.07664, 0.082397, 0.102172", \
          "0.068601, 0.070691, 0.076904, 0.082678, 0.102693");
      }
    }
  }
  pin(YS)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.481203;
    function : "(A^B)";
    timing() {
      related_pin : "A";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.149058, 0.187598, 0.252874, 0.291453, 0.413224", \
          "0.166689, 0.201554, 0.26849, 0.306329, 0.427747", \
          "0.187902, 0.225297, 0.288655, 0.32755, 0.446103", \
          "0.271378, 0.309285, 0.372234, 0.412365, 0.530283", \
          "0.396693, 0.435959, 0.497742, 0.537539, 0.660354");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.030674, 0.030087, 0.035974, 0.030274, 0.044562", \
          "0.051086, 0.046192, 0.048796, 0.048319, 0.053992", \
          "0.0726, 0.0714, 0.075, 0.0762, 0.078", \
          "0.189, 0.1884, 0.189, 0.1872, 0.189", \
          "0.3654, 0.3666, 0.3648, 0.3654, 0.366");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.152679, 0.15852, 0.169659, 0.172068, 0.1628", \
          "0.167175, 0.176611, 0.183469, 0.185952, 0.174854", \
          "0.186688, 0.194728, 0.207833, 0.209996, 0.196142", \
          "0.261489, 0.269263, 0.281771, 0.283352, 0.268541", \
          "0.371628, 0.379829, 0.391784, 0.396291, 0.377902");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.033564, 0.036382, 0.028424, 0.032597, 0.0316", \
          "0.043892, 0.044254, 0.042472, 0.043167, 0.044107", \
          "0.0642, 0.0606, 0.0714, 0.0714, 0.0672", \
          "0.1536, 0.1524, 0.15, 0.1506, 0.1542", \
          "0.2904, 0.2916, 0.2904, 0.2898, 0.2898");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.142672, 0.185479, 0.237913, 0.273327, 0.380148", \
          "0.15828, 0.200628, 0.25144, 0.286961, 0.396714", \
          "0.180359, 0.222974, 0.273734, 0.308942, 0.414381", \
          "0.265809, 0.307628, 0.357495, 0.398085, 0.495232", \
          "0.398108, 0.433179, 0.483931, 0.523541, 0.62621");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.029969, 0.037745, 0.032326, 0.030433, 0.032778", \
          "0.047823, 0.04903, 0.04912, 0.048363, 0.054818", \
          "0.0726, 0.0732, 0.0756, 0.0744, 0.075", \
          "0.1896, 0.1896, 0.1878, 0.1866, 0.1878", \
          "0.3666, 0.3654, 0.366, 0.366, 0.366");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.148831, 0.160485, 0.184599, 0.192589, 0.200687", \
          "0.163236, 0.176722, 0.199978, 0.204137, 0.213631", \
          "0.182718, 0.193019, 0.220361, 0.225654, 0.232882", \
          "0.257382, 0.268235, 0.292415, 0.298886, 0.307103", \
          "0.367566, 0.378594, 0.401833, 0.41316, 0.417643");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032374, 0.037431, 0.032683, 0.031342, 0.037325", \
          "0.044998, 0.044215, 0.050212, 0.04256, 0.045854", \
          "0.0624, 0.0624, 0.0738, 0.0648, 0.0678", \
          "0.153, 0.1506, 0.15, 0.15, 0.1542", \
          "0.291, 0.2916, 0.2892, 0.2886, 0.2922");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.077084, 0.078004, 0.086945, 0.094421, 0.118606", \
          "0.07744, 0.078311, 0.088214, 0.094018, 0.116461", \
          "0.077756, 0.078449, 0.088388, 0.093451, 0.115465", \
          "0.078677, 0.079201, 0.088598, 0.093644, 0.115553", \
          "0.079144, 0.079244, 0.088865, 0.094032, 0.116101");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037026, 0.033786, 0.042761, 0.048825, 0.072809", \
          "0.037638, 0.034849, 0.042862, 0.048604, 0.071392", \
          "0.038414, 0.035234, 0.043727, 0.049392, 0.070211", \
          "0.039016, 0.036021, 0.04298, 0.049002, 0.069506", \
          "0.0393, 0.036454, 0.043253, 0.048934, 0.069391");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.06765, 0.070247, 0.075598, 0.081985, 0.106254", \
          "0.067897, 0.069771, 0.075292, 0.081491, 0.104973", \
          "0.068347, 0.069856, 0.076452, 0.081147, 0.104028", \
          "0.068946, 0.070314, 0.07664, 0.082397, 0.102172", \
          "0.068601, 0.070691, 0.076904, 0.082678, 0.102693");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.047187, 0.04301, 0.052467, 0.058987, 0.084861", \
          "0.047188, 0.043824, 0.053109, 0.059138, 0.083706", \
          "0.047529, 0.043539, 0.052945, 0.059775, 0.082777", \
          "0.048555, 0.044674, 0.052352, 0.059345, 0.083031", \
          "0.049041, 0.045208, 0.052753, 0.059207, 0.083092");
      }
    }
  }
}

/* -------------- *
 * Design : INVX1 *
 * -------------- */
cell (INVX1) {
  cell_footprint : inv;
area : 16;
  cell_leakage_power : 0.0221741;
  pin(A)  {
    direction : input;
    capacitance : 0.00932456;
    rise_capacitance : 0.00932196;
    fall_capacitance : 0.00932456;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.503808;
    function : "(!A)";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.030906, 0.037434, 0.038584, 0.039088, 0.030318", \
          "0.04464, 0.057551, 0.073142, 0.077841, 0.081003", \
          "0.064368, 0.091076, 0.11557, 0.126352, 0.144944", \
          "0.139135, 0.174422, 0.232659, 0.261317, 0.321043", \
          "0.249412, 0.28434, 0.357694, 0.406534, 0.51187");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032269, 0.0648, 0.087, 0.1032, 0.1476", \
          "0.036025, 0.0726, 0.1044, 0.1236, 0.183", \
          "0.06, 0.0882, 0.1314, 0.1554, 0.2286", \
          "0.1494, 0.1578, 0.2124, 0.2508, 0.3528", \
          "0.288, 0.2892, 0.3192, 0.3576, 0.492");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037639, 0.056898, 0.083401, 0.104927, 0.156652", \
          "0.05258, 0.083003, 0.119028, 0.141927, 0.207952", \
          "0.07402, 0.112622, 0.162437, 0.191122, 0.271755", \
          "0.15767, 0.201007, 0.284096, 0.331746, 0.452958", \
          "0.285016, 0.326868, 0.415086, 0.481337, 0.653064");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.031447, 0.059488, 0.0846, 0.0918, 0.138", \
          "0.047167, 0.0786, 0.1044, 0.1224, 0.1734", \
          "0.072, 0.096, 0.1398, 0.1578, 0.222", \
          "0.1866, 0.1914, 0.2358, 0.2748, 0.3696", \
          "0.3648, 0.3648, 0.384, 0.4146, 0.5388");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.009213, 0.004772, 0.00823, 0.018532, 0.054083", \
          "0.009047, 0.005677, 0.005713, 0.015244, 0.049453", \
          "0.008669, 0.006332, 0.002998, 0.01159, 0.04368", \
          "0.007879, 0.007243, 0.001451, 0.004701, 0.030385", \
          "0.007605, 0.007297, 0.003652, 0.000737, 0.020842");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.023555, 0.029044, 0.041387, 0.051684, 0.087278", \
          "0.023165, 0.028621, 0.039211, 0.048916, 0.083039", \
          "0.023574, 0.02752, 0.036904, 0.045723, 0.077971", \
          "0.024479, 0.025247, 0.032268, 0.039242, 0.066587", \
          "0.024942, 0.025187, 0.029612, 0.034835, 0.057524");
      }
    }
  }
}

/* -------------- *
 * Design : INVX2 *
 * -------------- */
cell (INVX2) {
  cell_footprint : inv;
area : 16;
  cell_leakage_power : 0.0367509;
  pin(A)  {
    direction : input;
    capacitance : 0.0186567;
    rise_capacitance : 0.0186461;
    fall_capacitance : 0.0186567;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.984408;
    function : "(!A)";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032632, 0.040337, 0.044681, 0.046667, 0.042356", \
          "0.047211, 0.061414, 0.078874, 0.0856, 0.094405", \
          "0.069131, 0.094604, 0.12277, 0.135433, 0.160039", \
          "0.148168, 0.183302, 0.244679, 0.274903, 0.341248", \
          "0.266972, 0.301575, 0.374804, 0.425712, 0.538987");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032323, 0.0648, 0.0852, 0.102, 0.144", \
          "0.036499, 0.0744, 0.1074, 0.1254, 0.189", \
          "0.0636, 0.0924, 0.1332, 0.1566, 0.2328", \
          "0.1608, 0.1686, 0.2196, 0.2592, 0.3624", \
          "0.3114, 0.3108, 0.3372, 0.3738, 0.5076");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038051, 0.057734, 0.082403, 0.102222, 0.150603", \
          "0.0533, 0.083516, 0.118618, 0.140573, 0.203618", \
          "0.075541, 0.113686, 0.162856, 0.190874, 0.268952", \
          "0.161729, 0.204229, 0.286885, 0.334269, 0.453778", \
          "0.292363, 0.333831, 0.421093, 0.486676, 0.657729");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.031721, 0.0672, 0.0858, 0.0948, 0.138", \
          "0.04837, 0.0798, 0.1062, 0.1248, 0.1764", \
          "0.0744, 0.0978, 0.1422, 0.1608, 0.2268", \
          "0.1926, 0.1974, 0.24, 0.2802, 0.3768", \
          "0.3744, 0.375, 0.3936, 0.4236, 0.5496");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.018859, 0.010481, 0.014322, 0.033889, 0.10178", \
          "0.018371, 0.012213, 0.009374, 0.027508, 0.092642", \
          "0.017216, 0.013581, 0.004141, 0.020413, 0.081386", \
          "0.015819, 0.01485, 0.0042, 0.007301, 0.055731", \
          "0.01524, 0.014813, 0.00823, 0.000114, 0.03752");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.046998, 0.056527, 0.081025, 0.100533, 0.168537", \
          "0.046437, 0.05647, 0.076599, 0.095106, 0.160317", \
          "0.047242, 0.054342, 0.072097, 0.088869, 0.150394", \
          "0.049072, 0.050295, 0.063214, 0.076296, 0.128133", \
          "0.049968, 0.050297, 0.05833, 0.067964, 0.110555");
      }
    }
  }
}

/* -------------- *
 * Design : INVX4 *
 * -------------- */
cell (INVX4) {
  cell_footprint : inv;
area : 24;
  cell_leakage_power : 0.0735019;
  pin(A)  {
    direction : input;
    capacitance : 0.0373134;
    rise_capacitance : 0.0372921;
    fall_capacitance : 0.0373134;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 1.96882;
    function : "(!A)";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032632, 0.040337, 0.044681, 0.046667, 0.042356", \
          "0.047211, 0.061414, 0.078874, 0.0856, 0.094405", \
          "0.069131, 0.094604, 0.12277, 0.135433, 0.160039", \
          "0.148168, 0.183302, 0.244679, 0.274903, 0.341248", \
          "0.266972, 0.301575, 0.374804, 0.425712, 0.538987");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032323, 0.0648, 0.0852, 0.102, 0.144", \
          "0.036499, 0.0744, 0.1074, 0.1254, 0.189", \
          "0.0636, 0.0924, 0.1332, 0.1566, 0.2328", \
          "0.1608, 0.1686, 0.2196, 0.2592, 0.3624", \
          "0.3114, 0.3108, 0.3372, 0.3738, 0.5076");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038051, 0.057734, 0.082403, 0.102222, 0.150603", \
          "0.0533, 0.083516, 0.118618, 0.140573, 0.203618", \
          "0.075541, 0.113686, 0.162856, 0.190874, 0.268952", \
          "0.161729, 0.204229, 0.286885, 0.334269, 0.453778", \
          "0.292363, 0.333831, 0.421093, 0.486676, 0.657729");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.031721, 0.0672, 0.0858, 0.0948, 0.138", \
          "0.04837, 0.0798, 0.1062, 0.1248, 0.1764", \
          "0.0744, 0.0978, 0.1422, 0.1608, 0.2268", \
          "0.1926, 0.1974, 0.24, 0.2802, 0.3768", \
          "0.3744, 0.375, 0.3936, 0.4236, 0.5496");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037717, 0.020962, 0.028643, 0.067778, 0.20356", \
          "0.036742, 0.024427, 0.018748, 0.055015, 0.185284", \
          "0.034433, 0.027162, 0.008282, 0.040826, 0.162772", \
          "0.031638, 0.0297, 0.0084, 0.014602, 0.111461", \
          "0.030481, 0.029626, 0.016461, 0.000227, 0.075041");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.02, 0.05, 0.1, 0.3, 0.6");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.093996, 0.113054, 0.16205, 0.201065, 0.337073", \
          "0.092874, 0.11294, 0.153197, 0.190211, 0.320633", \
          "0.094485, 0.108685, 0.144194, 0.177737, 0.300787", \
          "0.098145, 0.10059, 0.126429, 0.152592, 0.256266", \
          "0.099936, 0.100595, 0.116661, 0.135929, 0.221109");
      }
    }
  }
}

/* -------------- *
 * Design : INVX8 *
 * -------------- */
cell (INVX8) {
  cell_footprint : inv;
area : 40;
  cell_leakage_power : 0.147006;
  pin(A)  {
    direction : input;
    capacitance : 0.0746269;
    rise_capacitance : 0.0745842;
    fall_capacitance : 0.0746269;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 3.93763;
    function : "(!A)";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.04, 0.1, 0.2, 0.6, 1.2");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032632, 0.040337, 0.044681, 0.046667, 0.042356", \
          "0.047211, 0.061414, 0.078874, 0.0856, 0.094405", \
          "0.069131, 0.094604, 0.12277, 0.135433, 0.160039", \
          "0.148168, 0.183302, 0.244679, 0.274903, 0.341248", \
          "0.266972, 0.301575, 0.374804, 0.425712, 0.538987");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.04, 0.1, 0.2, 0.6, 1.2");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032323, 0.0648, 0.0852, 0.102, 0.144", \
          "0.036499, 0.0744, 0.1074, 0.1254, 0.189", \
          "0.0636, 0.0924, 0.1332, 0.1566, 0.2328", \
          "0.1608, 0.1686, 0.2196, 0.2592, 0.3624", \
          "0.3114, 0.3108, 0.3372, 0.3738, 0.5076");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.04, 0.1, 0.2, 0.6, 1.2");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038051, 0.057734, 0.082403, 0.102222, 0.150603", \
          "0.0533, 0.083516, 0.118618, 0.140573, 0.203618", \
          "0.075541, 0.113686, 0.162856, 0.190874, 0.268952", \
          "0.161729, 0.204229, 0.286885, 0.334269, 0.453778", \
          "0.292363, 0.333831, 0.421093, 0.486676, 0.657729");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.04, 0.1, 0.2, 0.6, 1.2");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.031721, 0.0672, 0.0858, 0.0948, 0.138", \
          "0.04837, 0.0798, 0.1062, 0.1248, 0.1764", \
          "0.0744, 0.0978, 0.1422, 0.1608, 0.2268", \
          "0.1926, 0.1974, 0.24, 0.2802, 0.3768", \
          "0.3744, 0.375, 0.3936, 0.4236, 0.5496");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.04, 0.1, 0.2, 0.6, 1.2");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.075435, 0.041924, 0.057286, 0.135557, 0.40712", \
          "0.073484, 0.048853, 0.037496, 0.110031, 0.370568", \
          "0.068865, 0.054324, 0.016565, 0.081653, 0.325545", \
          "0.063277, 0.0594, 0.0168, 0.029205, 0.222922", \
          "0.060961, 0.059253, 0.032921, 0.000455, 0.150081");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.04, 0.1, 0.2, 0.6, 1.2");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.187992, 0.226109, 0.3241, 0.402131, 0.674147", \
          "0.185747, 0.22588, 0.306395, 0.380423, 0.641267", \
          "0.18897, 0.21737, 0.288388, 0.355474, 0.601575", \
          "0.196289, 0.201179, 0.252858, 0.305184, 0.512532", \
          "0.199872, 0.201189, 0.233321, 0.271857, 0.442219");
      }
    }
  }
}

/* -------------- *
 * Design : LATCH *
 * -------------- */
cell (LATCH) {
area : 0;
  cell_leakage_power : 0.103166;
  latch (DS0000,P0000) {
    data_in : "D";
    enable : "CLK";
  }
  pin(CLK)  {
    direction : input;
    capacitance : 0.0222524;
    rise_capacitance : 0.0222524;
    fall_capacitance : 0.0222519;
    clock : true;
    internal_power() {
      rise_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.010031, 0.006536, 0.033284, 0.079262, 0.115653, 0.184439");
      }
      fall_power(passive_energy_template_6x1) {
        index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ("0.060818, 0.076387, 0.102454, 0.1481, 0.183716, 0.25319");
      }
    }
    min_pulse_width_high : 0.149322;
  }
  pin(D)  {
    direction : input;
    capacitance : 0.00873537;
    rise_capacitance : 0.00866992;
    fall_capacitance : 0.00873537;
    timing() {
      related_pin : "CLK";
      timing_type : hold_falling;
      rise_constraint(hold_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "-0.09375, -0.13125, -0.11875, -0.14375, -0.175, -0.14375", \
          "-0.10625, -0.14375, -0.13125, -0.15625, -0.1875, -0.15625", \
          "-0.16875, -0.20625, -0.19375, -0.21875, -0.25, -0.21875");
      }
      fall_constraint(hold_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "-0.09375, -0.13125, -0.11875, -0.14375, -0.26875, -0.33125", \
          "-0.0125, -0.05, -0.13125, -0.15625, -0.1875, -0.25", \
          "0.01875, -0.01875, -0.1, -0.125, -0.15625, -0.3125");
      }
    }
    timing() {
      related_pin : "CLK";
      timing_type : setup_falling;
      rise_constraint(setup_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1875, 0.225, 0.2125, 0.2375, 0.26875, 0.51875", \
          "0.29375, 0.33125, 0.31875, 0.34375, 0.375, 0.71875", \
          "0.45, 0.58125, 0.56875, 0.40625, 0.4375, 0.96875");
      }
      fall_constraint(setup_template_3x6) {
        index_1 ("0.06, 0.3, 0.6");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1875, 0.225, 0.30625, 0.33125, 0.3625, 0.51875", \
          "0.2, 0.2375, 0.4125, 0.34375, 0.375, 0.4375", \
          "0.16875, 0.20625, 0.2875, 0.3125, 0.34375, 0.40625");
      }
    }
  }
  pin(Q)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.973513;
    function : "DS0000";
    timing() {
      related_pin : "CLK";
      timing_sense : non_unate;
      timing_type : rising_edge;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.18909, 0.218413, 0.23187, 0.233755, 0.226597, 0.200201", \
          "0.536777, 0.565286, 0.578688, 0.580569, 0.573314, 0.549413", \
          "1.14096, 1.16975, 1.18342, 1.18477, 1.17804, 1.15432", \
          "2.69477, 2.72325, 2.73707, 2.73941, 2.73171, 2.70708", \
          "3.55791, 3.58635, 3.59991, 3.6027, 3.5952, 3.57163", \
          "4.42163, 4.44975, 4.46196, 4.46488, 4.45845, 4.43438");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1458, 0.1488, 0.1566, 0.165, 0.1686, 0.18", \
          "0.633, 0.6324, 0.6336, 0.6354, 0.6366, 0.6408", \
          "1.4934, 1.4928, 1.4922, 1.4928, 1.494, 1.497", \
          "3.705, 3.705, 3.7044, 3.7068, 3.7062, 3.7038", \
          "4.9338, 4.9332, 4.9356, 4.9338, 4.935, 4.9344", \
          "6.165, 6.165, 6.165, 6.1638, 6.1638, 6.1632");
      }
      cell_fall(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.246125, 0.260752, 0.272064, 0.280557, 0.277834, 0.276812", \
          "0.568379, 0.581956, 0.592678, 0.602286, 0.59883, 0.600004", \
          "1.12243, 1.13602, 1.14693, 1.15599, 1.15224, 1.15283", \
          "2.5462, 2.55973, 2.57084, 2.58001, 2.57619, 2.5754", \
          "3.3372, 3.35076, 3.36199, 3.37103, 3.36612, 3.36578", \
          "4.12779, 4.14172, 4.1528, 4.16223, 4.15678, 4.15809");
      }
      fall_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1344, 0.1326, 0.1326, 0.135, 0.1338, 0.1326", \
          "0.528, 0.528, 0.528, 0.5274, 0.528, 0.5286", \
          "1.2384, 1.2378, 1.2378, 1.2384, 1.2366, 1.236", \
          "3.0672, 3.0666, 3.0684, 3.0678, 3.0672, 3.0648", \
          "4.0842, 4.0842, 4.0842, 4.0848, 4.0812, 4.0824", \
          "5.1006, 5.1006, 5.1006, 5.1, 5.0976, 5.0964");
      }
    }
    timing() {
      related_pin : "D";
      timing_sense : positive_unate;
      cell_rise(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.210937, 0.237525, 0.263286, 0.292353, 0.303925, 0.321076", \
          "0.557971, 0.585911, 0.611315, 0.638968, 0.652981, 0.673186", \
          "1.16296, 1.19063, 1.2161, 1.2441, 1.25749, 1.27842", \
          "2.71705, 2.7443, 2.76952, 2.79832, 2.81197, 2.83233", \
          "3.57852, 3.60631, 3.63229, 3.66172, 3.67576, 3.69607", \
          "4.4416, 4.47023, 4.49494, 4.52491, 4.5389, 4.55871");
      }
      rise_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1476, 0.1494, 0.1506, 0.1584, 0.1596, 0.1716", \
          "0.6324, 0.6318, 0.633, 0.6342, 0.6354, 0.6402", \
          "1.4928, 1.4928, 1.4922, 1.494, 1.4928, 1.4946", \
          "3.7062, 3.7038, 3.7044, 3.7074, 3.7056, 3.7074", \
          "4.9344, 4.9338, 4.935, 4.9326, 4.9332, 4.9332", \
          "6.1644, 6.1644, 6.1644, 6.1638, 6.1638, 6.162");
      }
      cell_fall(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.244037, 0.281305, 0.320272, 0.387479, 0.430721, 0.509293", \
          "0.564118, 0.601547, 0.642835, 0.711297, 0.754387, 0.837102", \
          "1.11784, 1.15563, 1.19662, 1.26524, 1.30888, 1.391", \
          "2.54141, 2.57949, 2.62027, 2.68836, 2.73272, 2.81466", \
          "3.33236, 3.36895, 3.41105, 3.4799, 3.52322, 3.60448", \
          "4.12332, 4.16064, 4.20241, 4.27068, 4.31274, 4.39483");
      }
      fall_transition(delay_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.1326, 0.1326, 0.1368, 0.1464, 0.1494, 0.1596", \
          "0.528, 0.5274, 0.5286, 0.531, 0.5316, 0.5352", \
          "1.2372, 1.2372, 1.2372, 1.2396, 1.2396, 1.2402", \
          "3.0678, 3.0678, 3.0672, 3.0666, 3.0654, 3.0678", \
          "4.0842, 4.0818, 4.0824, 4.0806, 4.0812, 4.0824", \
          "5.1006, 5.0988, 5.1006, 5.0964, 5.0988, 5.0982");
      }
    }
    internal_power() {
      related_pin : "CLK";
      rise_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.038408, 0.057367, 0.089036, 0.15147, 0.193, 0.278585", \
          "0.040739, 0.058496, 0.089776, 0.148617, 0.191407, 0.279096", \
          "0.041182, 0.059146, 0.090506, 0.149199, 0.191888, 0.27847", \
          "0.041362, 0.059391, 0.090869, 0.149687, 0.192335, 0.278863", \
          "0.041312, 0.059343, 0.090857, 0.149704, 0.192434, 0.278866", \
          "0.041312, 0.059323, 0.090902, 0.149735, 0.192502, 0.279014");
      }
      fall_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.06354, 0.075317, 0.100798, 0.151019, 0.186273, 0.257456", \
          "0.063927, 0.076894, 0.103062, 0.151788, 0.186149, 0.25675", \
          "0.064656, 0.077581, 0.103802, 0.152681, 0.186584, 0.25713", \
          "0.064959, 0.077968, 0.104174, 0.153068, 0.186931, 0.25752", \
          "0.065018, 0.078043, 0.104238, 0.153221, 0.186986, 0.257588", \
          "0.064996, 0.078001, 0.104263, 0.153232, 0.18705, 0.257639");
      }
    }
    internal_power() {
      related_pin : "D";
      rise_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.047217, 0.052308, 0.061774, 0.0816, 0.096724, 0.130191", \
          "0.050227, 0.053368, 0.061075, 0.080069, 0.094248, 0.124788", \
          "0.050887, 0.053854, 0.061829, 0.080544, 0.094615, 0.124458", \
          "0.051097, 0.054029, 0.062242, 0.080966, 0.095056, 0.124728", \
          "0.051069, 0.054041, 0.062245, 0.081016, 0.095081, 0.124789", \
          "0.051137, 0.054041, 0.062266, 0.081062, 0.095215, 0.124888");
      }
      fall_power(energy_template_6x6) {
        index_1 ("0.1, 0.5, 1.2, 3, 4, 5");
        index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8");
        values ( \
          "0.098675, 0.100019, 0.108217, 0.128369, 0.144286, 0.17707", \
          "0.09899, 0.100602, 0.108735, 0.128095, 0.142828, 0.173275", \
          "0.098898, 0.101152, 0.109334, 0.128556, 0.143306, 0.173336", \
          "0.099044, 0.101398, 0.109702, 0.128973, 0.143726, 0.173639", \
          "0.099079, 0.101443, 0.109769, 0.129053, 0.143888, 0.17369", \
          "0.099072, 0.101448, 0.109865, 0.129071, 0.143883, 0.17368");
      }
    }
  }
}

/* --------------- *
 * Design : MUX2X1 *
 * --------------- */
cell (MUX2X1) {
area : 48;
  cell_leakage_power : 0.0870033;
  pin(A)  {
    direction : input;
    capacitance : 0.0173455;
    rise_capacitance : 0.0170984;
    fall_capacitance : 0.0173455;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0173537;
    rise_capacitance : 0.0170875;
    fall_capacitance : 0.0173537;
  }
  pin(S)  {
    direction : input;
    capacitance : 0.0204132;
    rise_capacitance : 0.0203919;
    fall_capacitance : 0.0204132;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.488958;
    function : "(!((S A) + (!S B)))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.049841, 0.062439, 0.070817, 0.074619, 0.075764", \
          "0.06038, 0.076407, 0.087308, 0.09453, 0.10352", \
          "0.077941, 0.096048, 0.113817, 0.124416, 0.139745", \
          "0.14017, 0.162075, 0.195951, 0.214682, 0.257299", \
          "0.232475, 0.254972, 0.296829, 0.323596, 0.39058");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.039692, 0.066, 0.0984, 0.1206, 0.18", \
          "0.056615, 0.0756, 0.1122, 0.1332, 0.2004", \
          "0.0714, 0.0918, 0.1272, 0.1488, 0.2238", \
          "0.1506, 0.1566, 0.1926, 0.2196, 0.306", \
          "0.2712, 0.2718, 0.294, 0.3186, 0.4092");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.072351, 0.086817, 0.114778, 0.134772, 0.193395", \
          "0.086412, 0.103969, 0.133, 0.154627, 0.220414", \
          "0.107326, 0.128553, 0.161634, 0.186654, 0.259106", \
          "0.19325, 0.214026, 0.261158, 0.291116, 0.382551", \
          "0.320216, 0.341082, 0.391527, 0.428828, 0.53531");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052306, 0.0762, 0.0984, 0.1164, 0.168", \
          "0.075, 0.0882, 0.1194, 0.1338, 0.1878", \
          "0.1002, 0.1158, 0.1422, 0.1638, 0.2208", \
          "0.219, 0.2232, 0.2478, 0.27, 0.336", \
          "0.396, 0.396, 0.4104, 0.4272, 0.4998");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.054662, 0.063511, 0.071265, 0.074915, 0.075865", \
          "0.065546, 0.078306, 0.08765, 0.094949, 0.104013", \
          "0.082423, 0.097893, 0.114535, 0.125138, 0.140125", \
          "0.146105, 0.164949, 0.197303, 0.215761, 0.257086", \
          "0.2385, 0.258003, 0.298933, 0.325026, 0.391418");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.04514, 0.0648, 0.0966, 0.1182, 0.1776", \
          "0.058413, 0.0756, 0.1104, 0.1314, 0.1986", \
          "0.0786, 0.0924, 0.1266, 0.1476, 0.2226", \
          "0.1536, 0.159, 0.1938, 0.2202, 0.303", \
          "0.2742, 0.2742, 0.2964, 0.321, 0.4092");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.066015, 0.08492, 0.11281, 0.132989, 0.191892", \
          "0.081067, 0.100589, 0.131696, 0.153589, 0.219376", \
          "0.102628, 0.125139, 0.16009, 0.185256, 0.258795", \
          "0.189337, 0.211033, 0.259234, 0.289464, 0.381313", \
          "0.316367, 0.338345, 0.389351, 0.427169, 0.534114");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.053671, 0.072, 0.1002, 0.1182, 0.1668", \
          "0.0702, 0.0888, 0.1206, 0.135, 0.1884", \
          "0.0984, 0.1128, 0.1428, 0.1644, 0.2208", \
          "0.2178, 0.222, 0.2472, 0.2694, 0.3342", \
          "0.3942, 0.3942, 0.4086, 0.426, 0.4998");
      }
    }
    timing() {
      related_pin : "S";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.100427, 0.115951, 0.142823, 0.157884, 0.17571", \
          "0.113348, 0.128794, 0.159753, 0.171618, 0.192833", \
          "0.13471, 0.151395, 0.180934, 0.194907, 0.216615", \
          "0.215914, 0.238688, 0.26376, 0.275954, 0.299918", \
          "0.34018, 0.36622, 0.388128, 0.399598, 0.424692");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.05407, 0.05147, 0.05628, 0.0678, 0.072", \
          "0.0696, 0.0666, 0.0816, 0.0804, 0.0924", \
          "0.1008, 0.0996, 0.1014, 0.1044, 0.1134", \
          "0.2184, 0.219, 0.2112, 0.2106, 0.2154", \
          "0.3954, 0.396, 0.3906, 0.3888, 0.39");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.099458, 0.130249, 0.180656, 0.211869, 0.29018", \
          "0.109448, 0.140076, 0.191393, 0.223325, 0.301373", \
          "0.125309, 0.156202, 0.210391, 0.24179, 0.319929", \
          "0.18479, 0.217556, 0.271307, 0.302384, 0.386655", \
          "0.274707, 0.307295, 0.359763, 0.393482, 0.477327");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045961, 0.044488, 0.046733, 0.0684, 0.0726", \
          "0.057213, 0.056881, 0.058283, 0.0702, 0.078", \
          "0.078, 0.0786, 0.0852, 0.0864, 0.0912", \
          "0.1548, 0.1548, 0.1506, 0.1536, 0.1584", \
          "0.2742, 0.2736, 0.27, 0.2694, 0.2712");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.01907, 0.014997, 0.002981, 0.018697, 0.075579", \
          "0.018751, 0.014696, 0.000905, 0.01617, 0.07148", \
          "0.018262, 0.014954, 0.001323, 0.01254, 0.065647", \
          "0.017453, 0.016036, 0.006445, 0.00428, 0.049438", \
          "0.017013, 0.016548, 0.009485, 0.001448, 0.035417");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.095161, 0.097884, 0.115213, 0.131187, 0.18897", \
          "0.095544, 0.097404, 0.113725, 0.12853, 0.185696", \
          "0.09578, 0.097049, 0.110996, 0.12527, 0.180604", \
          "0.096304, 0.095756, 0.10667, 0.118, 0.16602", \
          "0.096814, 0.096191, 0.103844, 0.112461, 0.15306");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.004462, 0.007633, 0.026336, 0.042227, 0.098755", \
          "0.004829, 0.008638, 0.024477, 0.039507, 0.09467", \
          "0.005725, 0.008503, 0.02219, 0.035927, 0.088849", \
          "0.006188, 0.007371, 0.01687, 0.027553, 0.072835", \
          "0.006544, 0.006814, 0.01381, 0.021918, 0.058831");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.072685, 0.075745, 0.093126, 0.109042, 0.167212", \
          "0.072538, 0.075094, 0.091529, 0.106543, 0.163512", \
          "0.072993, 0.074866, 0.08859, 0.103206, 0.158549", \
          "0.073629, 0.072972, 0.084054, 0.09549, 0.143675", \
          "0.07412, 0.073345, 0.081069, 0.089851, 0.130439");
      }
    }
    internal_power() {
      related_pin : "S";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.056455, 0.05297, 0.066123, 0.077991, 0.117024", \
          "0.056071, 0.05269, 0.066661, 0.07747, 0.114947", \
          "0.05456, 0.053053, 0.065867, 0.076629, 0.111982", \
          "0.051875, 0.054102, 0.065763, 0.074375, 0.109935", \
          "0.049442, 0.052849, 0.065156, 0.074353, 0.109384");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.091443, 0.091747, 0.105716, 0.115072, 0.15201", \
          "0.090143, 0.091197, 0.10563, 0.115065, 0.150487", \
          "0.088359, 0.090468, 0.104825, 0.114881, 0.149389", \
          "0.084078, 0.087722, 0.102949, 0.113106, 0.148234", \
          "0.081489, 0.085188, 0.100644, 0.11098, 0.146933");
      }
    }
  }
}

/* ---------------- *
 * Design : NAND2X1 *
 * ---------------- */
cell (NAND2X1) {
area : 24;
  cell_leakage_power : 0.0393659;
  pin(A)  {
    direction : input;
    capacitance : 0.0125;
    rise_capacitance : 0.0125;
    fall_capacitance : 0.0122726;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0129035;
    rise_capacitance : 0.0129005;
    fall_capacitance : 0.0129035;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.499794;
    function : "(!(A B))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032849, 0.032709, 0.02129, 0.009771, -0.035525", \
          "0.046123, 0.052511, 0.044962, 0.037843, 0.002168", \
          "0.059313, 0.074012, 0.077906, 0.076127, 0.052445", \
          "0.121841, 0.143174, 0.169505, 0.18173, 0.193629", \
          "0.212833, 0.235422, 0.274283, 0.296982, 0.343816");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.025252, 0.049961, 0.081, 0.096, 0.1536", \
          "0.037379, 0.0648, 0.0948, 0.117, 0.1728", \
          "0.057307, 0.0822, 0.1146, 0.1368, 0.2046", \
          "0.1332, 0.144, 0.1788, 0.2058, 0.2928", \
          "0.252, 0.2556, 0.279, 0.3072, 0.4002");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.053827, 0.090888, 0.133161, 0.166997, 0.264866", \
          "0.067464, 0.10657, 0.161276, 0.195685, 0.302267", \
          "0.089222, 0.133733, 0.196269, 0.235206, 0.35182", \
          "0.174217, 0.217849, 0.306733, 0.361281, 0.50781", \
          "0.300777, 0.343074, 0.433282, 0.502219, 0.692285");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038295, 0.0738, 0.0972, 0.1008, 0.1476", \
          "0.05811, 0.0834, 0.1116, 0.1308, 0.174", \
          "0.0864, 0.102, 0.1446, 0.1656, 0.2214", \
          "0.2022, 0.207, 0.2448, 0.279, 0.3666", \
          "0.3792, 0.3786, 0.3942, 0.4224, 0.5364");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.030722, 0.034691, 0.027547, 0.022497, -0.007891", \
          "0.04353, 0.052352, 0.058464, 0.056301, 0.034194", \
          "0.060204, 0.08031, 0.09353, 0.097676, 0.089812", \
          "0.123247, 0.154435, 0.197787, 0.216233, 0.247288", \
          "0.214218, 0.245642, 0.31052, 0.346173, 0.417032");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.03134, 0.0672, 0.0882, 0.1032, 0.1488", \
          "0.038445, 0.0696, 0.0984, 0.1206, 0.1824", \
          "0.05896, 0.0882, 0.1254, 0.1482, 0.222", \
          "0.1332, 0.15, 0.201, 0.2346, 0.3294", \
          "0.252, 0.2562, 0.2928, 0.3342, 0.453");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045793, 0.070459, 0.110903, 0.134724, 0.213257", \
          "0.058061, 0.09551, 0.138201, 0.168916, 0.257647", \
          "0.0816, 0.122132, 0.178125, 0.213621, 0.314956", \
          "0.166583, 0.208768, 0.294841, 0.346518, 0.483296", \
          "0.294084, 0.335175, 0.424091, 0.492226, 0.67506");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.033941, 0.0678, 0.084, 0.1026, 0.1422", \
          "0.051455, 0.0798, 0.1092, 0.1218, 0.1722", \
          "0.078, 0.096, 0.1368, 0.1608, 0.2172", \
          "0.1926, 0.1974, 0.237, 0.2736, 0.3624", \
          "0.369, 0.3696, 0.387, 0.4146, 0.5334");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.010032, 0.006113, 0.007211, 0.019388, 0.061254", \
          "0.009375, 0.006717, 0.005324, 0.016391, 0.056772", \
          "0.009041, 0.007682, 0.003309, 0.013056, 0.05095", \
          "0.008135, 0.007795, 0.000701, 0.006495, 0.037106", \
          "0.007774, 0.007571, 0.002795, 0.002532, 0.026865");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.044515, 0.051923, 0.065621, 0.078039, 0.12025", \
          "0.045446, 0.0506, 0.064109, 0.075644, 0.117275", \
          "0.045658, 0.049805, 0.061891, 0.072736, 0.11295", \
          "0.04651, 0.047725, 0.056845, 0.066045, 0.101402", \
          "0.046968, 0.047565, 0.053711, 0.060733, 0.090902");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.009782, 0.004814, 0.009821, 0.021834, 0.062952", \
          "0.009413, 0.005752, 0.007389, 0.018537, 0.058347", \
          "0.008958, 0.006344, 0.004695, 0.014766, 0.05239", \
          "0.008019, 0.007148, 0.000149, 0.00726, 0.037972", \
          "0.00768, 0.00724, 0.002621, 0.002774, 0.027187");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.03356, 0.040104, 0.053535, 0.065719, 0.106691", \
          "0.033477, 0.039273, 0.051799, 0.062943, 0.102839", \
          "0.034205, 0.038195, 0.049476, 0.059868, 0.098022", \
          "0.036401, 0.036373, 0.044702, 0.053256, 0.086446", \
          "0.037565, 0.037037, 0.042043, 0.048458, 0.076596");
      }
    }
  }
}

/* ---------------- *
 * Design : NAND3X1 *
 * ---------------- */
cell (NAND3X1) {
area : 36;
  cell_leakage_power : 0.0560872;
  pin(A)  {
    direction : input;
    capacitance : 0.0158812;
    rise_capacitance : 0.0158812;
    fall_capacitance : 0.0154645;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0159247;
    rise_capacitance : 0.0159247;
    fall_capacitance : 0.0155495;
  }
  pin(C)  {
    direction : input;
    capacitance : 0.0164926;
    rise_capacitance : 0.0164758;
    fall_capacitance : 0.0164926;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.490658;
    function : "(!((A B) C))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.04116, 0.040614, 0.023919, 0.003135, -0.064874", \
          "0.049935, 0.052803, 0.04061, 0.0249, -0.035024", \
          "0.065293, 0.074215, 0.066043, 0.056796, 0.007393", \
          "0.124514, 0.134562, 0.144799, 0.145727, 0.128775", \
          "0.208279, 0.220458, 0.239093, 0.247928, 0.259065");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.02816, 0.050762, 0.0792, 0.1002, 0.1632", \
          "0.03958, 0.0606, 0.087, 0.1092, 0.177", \
          "0.055365, 0.0738, 0.1062, 0.1296, 0.195", \
          "0.1314, 0.138, 0.1674, 0.1914, 0.2688", \
          "0.2448, 0.246, 0.2676, 0.288, 0.366");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.077, 0.119013, 0.180545, 0.222936, 0.354109", \
          "0.090156, 0.136337, 0.20562, 0.249079, 0.37915", \
          "0.1133, 0.158718, 0.234505, 0.282237, 0.421754", \
          "0.199333, 0.243004, 0.335391, 0.396853, 0.563156", \
          "0.326751, 0.369094, 0.459816, 0.530231, 0.735888");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.059051, 0.078, 0.1158, 0.129, 0.1692", \
          "0.081, 0.0942, 0.1332, 0.1488, 0.195", \
          "0.1062, 0.1188, 0.1614, 0.1842, 0.2406", \
          "0.2256, 0.2274, 0.2568, 0.2922, 0.3798", \
          "0.4026, 0.4026, 0.4152, 0.4386, 0.5466");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038822, 0.040187, 0.027228, 0.013603, -0.036291", \
          "0.0494, 0.054505, 0.049118, 0.040383, -0.001952", \
          "0.064463, 0.078196, 0.079944, 0.075989, 0.04532", \
          "0.122908, 0.142917, 0.168173, 0.17767, 0.182216", \
          "0.208718, 0.228463, 0.268061, 0.289581, 0.329475");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.029743, 0.053801, 0.0918, 0.1074, 0.168", \
          "0.042422, 0.0696, 0.0984, 0.123, 0.1872", \
          "0.058678, 0.081, 0.1194, 0.1416, 0.2142", \
          "0.132, 0.1434, 0.1812, 0.2112, 0.2964", \
          "0.2442, 0.2484, 0.276, 0.3066, 0.4002");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.066118, 0.104122, 0.160287, 0.196007, 0.307907", \
          "0.080033, 0.121617, 0.180486, 0.220316, 0.338661", \
          "0.101665, 0.146495, 0.215252, 0.259065, 0.385102", \
          "0.188061, 0.230673, 0.320771, 0.378484, 0.534861", \
          "0.315536, 0.356535, 0.446461, 0.516294, 0.714324");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052328, 0.0756, 0.0984, 0.1188, 0.153", \
          "0.063, 0.0834, 0.123, 0.141, 0.1854", \
          "0.0936, 0.1086, 0.1542, 0.1716, 0.2262", \
          "0.213, 0.216, 0.2496, 0.2826, 0.3708", \
          "0.39, 0.3894, 0.4026, 0.4284, 0.5388");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032603, 0.036382, 0.026123, 0.018569, -0.022063", \
          "0.044522, 0.052032, 0.053463, 0.047809, 0.016461", \
          "0.059652, 0.07628, 0.085372, 0.085773, 0.067297", \
          "0.118645, 0.14708, 0.183081, 0.19771, 0.215072", \
          "0.202474, 0.232142, 0.290379, 0.320385, 0.375619");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.034546, 0.0696, 0.0912, 0.105, 0.1602", \
          "0.041983, 0.072, 0.1032, 0.1242, 0.1848", \
          "0.06, 0.087, 0.1266, 0.1476, 0.2214", \
          "0.1326, 0.1488, 0.1974, 0.228, 0.3228", \
          "0.2454, 0.249, 0.2898, 0.3288, 0.4398");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.051521, 0.085749, 0.126629, 0.157693, 0.248486", \
          "0.064751, 0.104177, 0.154098, 0.186653, 0.288056", \
          "0.088648, 0.130864, 0.190543, 0.229086, 0.342298", \
          "0.175149, 0.216689, 0.304292, 0.358342, 0.504462", \
          "0.303176, 0.343349, 0.432222, 0.500994, 0.691157");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037306, 0.0714, 0.0918, 0.099, 0.1446", \
          "0.053744, 0.081, 0.108, 0.1272, 0.1764", \
          "0.0822, 0.0984, 0.1398, 0.1608, 0.219", \
          "0.198, 0.2022, 0.2406, 0.2748, 0.3612", \
          "0.3756, 0.3744, 0.3894, 0.417, 0.531");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.010223, 0.007778, 0.004387, 0.015797, 0.060932", \
          "0.009631, 0.007971, 0.003056, 0.013509, 0.057066", \
          "0.008955, 0.008071, 0.000958, 0.011261, 0.052029", \
          "0.008113, 0.007956, 0.001637, 0.006035, 0.039606", \
          "0.007727, 0.007726, 0.003233, 0.002633, 0.029842");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.078173, 0.0838, 0.098208, 0.112082, 0.158646", \
          "0.078445, 0.083496, 0.09757, 0.110399, 0.156182", \
          "0.07885, 0.082611, 0.096067, 0.107872, 0.152181", \
          "0.08051, 0.081852, 0.091836, 0.101879, 0.141566", \
          "0.081202, 0.082003, 0.088784, 0.096782, 0.131078");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.009754, 0.006571, 0.005699, 0.018144, 0.061969", \
          "0.009288, 0.006691, 0.004204, 0.015552, 0.057728", \
          "0.008783, 0.006458, 0.002528, 0.01268, 0.052145", \
          "0.00802, 0.00686, 0.000893, 0.006527, 0.038603", \
          "0.007622, 0.007098, 0.002825, 0.002708, 0.028343");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.062656, 0.067136, 0.082427, 0.094475, 0.139019", \
          "0.062127, 0.06667, 0.080442, 0.09237, 0.136319", \
          "0.063336, 0.066255, 0.078446, 0.090276, 0.132354", \
          "0.06511, 0.065218, 0.07431, 0.083944, 0.121697", \
          "0.066163, 0.065839, 0.071643, 0.079074, 0.111649");
      }
    }
    internal_power() {
      related_pin : "C";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.010951, 0.005335, 0.009988, 0.022814, 0.066842", \
          "0.009889, 0.006175, 0.007602, 0.019637, 0.062399", \
          "0.00932, 0.006698, 0.005089, 0.015884, 0.056505", \
          "0.008196, 0.007286, 0.000252, 0.00831, 0.041775", \
          "0.007777, 0.007328, 0.002254, 0.00367, 0.030458");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.042867, 0.050017, 0.064505, 0.076887, 0.121021", \
          "0.043975, 0.049037, 0.062676, 0.074655, 0.117504", \
          "0.044988, 0.048248, 0.060394, 0.071801, 0.112996", \
          "0.048348, 0.04748, 0.056002, 0.065379, 0.101725", \
          "0.050303, 0.048868, 0.053668, 0.060673, 0.091712");
      }
    }
  }
}

/* --------------- *
 * Design : NOR2X1 *
 * --------------- */
cell (NOR2X1) {
area : 24;
  cell_leakage_power : 0.035234;
  pin(A)  {
    direction : input;
    capacitance : 0.0144193;
    rise_capacitance : 0.0139227;
    fall_capacitance : 0.0144193;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0150643;
    rise_capacitance : 0.0150469;
    fall_capacitance : 0.0150643;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.499994;
    function : "(!(A+B))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052024, 0.072786, 0.102719, 0.116867, 0.162886", \
          "0.063687, 0.092509, 0.123179, 0.144568, 0.197323", \
          "0.082815, 0.115218, 0.159103, 0.181266, 0.244335", \
          "0.158166, 0.194702, 0.262053, 0.298892, 0.389987", \
          "0.269742, 0.305373, 0.380148, 0.433551, 0.561665");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.036399, 0.0738, 0.1002, 0.1128, 0.1722", \
          "0.05475, 0.081, 0.1146, 0.135, 0.201", \
          "0.0756, 0.0948, 0.138, 0.1656, 0.2394", \
          "0.165, 0.1704, 0.2184, 0.255, 0.3552", \
          "0.3054, 0.3054, 0.3306, 0.3654, 0.492");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.048757, 0.062084, 0.070199, 0.073994, 0.084854", \
          "0.062221, 0.079679, 0.092833, 0.102291, 0.123883", \
          "0.086501, 0.104512, 0.127895, 0.141506, 0.175016", \
          "0.170492, 0.192451, 0.23367, 0.257634, 0.32148", \
          "0.29667, 0.318563, 0.367261, 0.400499, 0.488101");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.032304, 0.059129, 0.0888, 0.1104, 0.1554", \
          "0.049568, 0.075, 0.1026, 0.126, 0.1812", \
          "0.0816, 0.0948, 0.1284, 0.1518, 0.2148", \
          "0.1962, 0.1998, 0.2292, 0.2544, 0.3288", \
          "0.3732, 0.3738, 0.39, 0.411, 0.4908");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038401, 0.051255, 0.067423, 0.073413, 0.087652", \
          "0.05399, 0.073396, 0.095386, 0.108254, 0.132269", \
          "0.074059, 0.102031, 0.133828, 0.151972, 0.190359", \
          "0.148582, 0.184191, 0.24634, 0.278312, 0.355503", \
          "0.261225, 0.295056, 0.368683, 0.419628, 0.537104");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.028747, 0.057397, 0.0822, 0.1038, 0.1494", \
          "0.043383, 0.075, 0.105, 0.1242, 0.1842", \
          "0.059564, 0.087, 0.129, 0.1548, 0.2262", \
          "0.1536, 0.1602, 0.2112, 0.2484, 0.345", \
          "0.2934, 0.2928, 0.3198, 0.357, 0.4842");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.044051, 0.061971, 0.08092, 0.095749, 0.131115", \
          "0.058156, 0.083838, 0.112761, 0.129467, 0.17689", \
          "0.081817, 0.112785, 0.15217, 0.174951, 0.236316", \
          "0.166398, 0.201667, 0.271342, 0.309874, 0.406624", \
          "0.293225, 0.328511, 0.404142, 0.460926, 0.599617");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037234, 0.072, 0.0924, 0.1056, 0.147", \
          "0.055595, 0.0846, 0.1068, 0.1278, 0.1806", \
          "0.0816, 0.105, 0.144, 0.1626, 0.225", \
          "0.1962, 0.2016, 0.246, 0.2802, 0.3648", \
          "0.3726, 0.3738, 0.3954, 0.4266, 0.5394");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.018356, 0.0131, 0.001603, 0.014903, 0.06085", \
          "0.018158, 0.013817, 0.000223, 0.01217, 0.057082", \
          "0.01762, 0.014309, 0.002784, 0.00876, 0.051711", \
          "0.017041, 0.01611, 0.008021, 0.000741, 0.037068", \
          "0.016886, 0.016278, 0.011013, 0.004623, 0.024639");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.066001, 0.069582, 0.082161, 0.09472, 0.141145", \
          "0.065447, 0.06803, 0.080177, 0.091723, 0.136925", \
          "0.066374, 0.067808, 0.078361, 0.088556, 0.131286", \
          "0.067107, 0.067859, 0.074216, 0.082288, 0.117562", \
          "0.067494, 0.066515, 0.072152, 0.078228, 0.107165");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.018437, 0.013232, 0.001761, 0.013882, 0.056136", \
          "0.017733, 0.013814, 0.000637, 0.010912, 0.051918", \
          "0.016174, 0.014633, 0.003143, 0.007407, 0.046348", \
          "0.013581, 0.01386, 0.007313, 0.000341, 0.03265", \
          "0.012265, 0.012835, 0.009099, 0.003692, 0.02204");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.042481, 0.049241, 0.064378, 0.076077, 0.118202", \
          "0.043117, 0.048688, 0.062041, 0.073351, 0.113998", \
          "0.042961, 0.047646, 0.059, 0.069816, 0.108553", \
          "0.044725, 0.045628, 0.054048, 0.062479, 0.095792", \
          "0.045588, 0.045761, 0.051097, 0.057527, 0.085382");
      }
    }
  }
}

/* --------------- *
 * Design : NOR3X1 *
 * --------------- */
cell (NOR3X1) {
area : 64;
  cell_leakage_power : 0.0544821;
  pin(A)  {
    direction : input;
    capacitance : 0.019824;
    rise_capacitance : 0.018966;
    fall_capacitance : 0.019824;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.019861;
    rise_capacitance : 0.0191157;
    fall_capacitance : 0.019861;
  }
  pin(C)  {
    direction : input;
    capacitance : 0.0207948;
    rise_capacitance : 0.0207948;
    fall_capacitance : 0.020788;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.496256;
    function : "(!((A+B)+C))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.076871, 0.10606, 0.158872, 0.183447, 0.266465", \
          "0.088527, 0.125424, 0.174443, 0.208561, 0.294195", \
          "0.111325, 0.148061, 0.206591, 0.238597, 0.331966", \
          "0.189341, 0.225103, 0.29955, 0.34401, 0.460418", \
          "0.302144, 0.337536, 0.412874, 0.4702, 0.618393");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.058223, 0.081, 0.1194, 0.144, 0.207", \
          "0.0774, 0.09, 0.1374, 0.1578, 0.2298", \
          "0.0984, 0.111, 0.159, 0.186, 0.2628", \
          "0.1926, 0.1968, 0.2334, 0.2718, 0.3708", \
          "0.3324, 0.3318, 0.3528, 0.3828, 0.5046");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.069909, 0.073929, 0.08023, 0.076139, 0.052404", \
          "0.085164, 0.09309, 0.099796, 0.096392, 0.083598", \
          "0.104666, 0.115656, 0.125517, 0.129858, 0.12765", \
          "0.187664, 0.200206, 0.223859, 0.234315, 0.259507", \
          "0.312311, 0.329068, 0.354596, 0.371168, 0.413719");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045431, 0.063, 0.0876, 0.1122, 0.183", \
          "0.0648, 0.0744, 0.1056, 0.1236, 0.1968", \
          "0.0912, 0.1008, 0.1278, 0.1458, 0.2226", \
          "0.2052, 0.2088, 0.231, 0.2508, 0.3216", \
          "0.3798, 0.3798, 0.3936, 0.4098, 0.4764");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.068849, 0.095688, 0.127268, 0.154714, 0.210724", \
          "0.079996, 0.108585, 0.153332, 0.17427, 0.240398", \
          "0.100051, 0.135085, 0.181355, 0.210878, 0.284047", \
          "0.176406, 0.211894, 0.281169, 0.321477, 0.423449", \
          "0.289198, 0.323504, 0.397401, 0.453334, 0.589861");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.049642, 0.0732, 0.1068, 0.1236, 0.183", \
          "0.058798, 0.081, 0.1206, 0.1452, 0.2052", \
          "0.084, 0.0972, 0.1446, 0.1704, 0.2454", \
          "0.1758, 0.1788, 0.2214, 0.2604, 0.357", \
          "0.3144, 0.3156, 0.3366, 0.3696, 0.492");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.064655, 0.079822, 0.083453, 0.086884, 0.097565", \
          "0.082182, 0.093537, 0.105767, 0.114885, 0.134595", \
          "0.1018, 0.120256, 0.140036, 0.152587, 0.184222", \
          "0.185832, 0.205941, 0.246301, 0.269893, 0.331185", \
          "0.310591, 0.331576, 0.379585, 0.412394, 0.498942");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.046543, 0.0708, 0.1026, 0.1218, 0.1818", \
          "0.0642, 0.0834, 0.1134, 0.138, 0.2046", \
          "0.0918, 0.1092, 0.1416, 0.1662, 0.2334", \
          "0.2052, 0.2118, 0.2436, 0.2676, 0.3438", \
          "0.3798, 0.3798, 0.3972, 0.42, 0.5022");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.049253, 0.065453, 0.085113, 0.09859, 0.126765", \
          "0.061801, 0.089237, 0.113584, 0.128372, 0.167715", \
          "0.083005, 0.113224, 0.149947, 0.170137, 0.221808", \
          "0.159204, 0.193903, 0.258385, 0.292894, 0.379522", \
          "0.272977, 0.30599, 0.378974, 0.431398, 0.556954");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.028055, 0.0648, 0.0918, 0.1056, 0.1566", \
          "0.047042, 0.0744, 0.1002, 0.1254, 0.1842", \
          "0.0672, 0.0882, 0.129, 0.1554, 0.2268", \
          "0.1572, 0.1644, 0.2094, 0.2454, 0.3444", \
          "0.2976, 0.297, 0.3216, 0.3558, 0.4812");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.048038, 0.060277, 0.081576, 0.094022, 0.121654", \
          "0.061349, 0.083504, 0.110641, 0.124847, 0.163462", \
          "0.084246, 0.111371, 0.146871, 0.167459, 0.218769", \
          "0.168268, 0.200077, 0.262494, 0.296121, 0.38056", \
          "0.294847, 0.325559, 0.394508, 0.445322, 0.567066");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.047776, 0.0684, 0.1008, 0.114, 0.1614", \
          "0.0612, 0.0882, 0.1146, 0.1338, 0.1878", \
          "0.0906, 0.1116, 0.1494, 0.1686, 0.2322", \
          "0.2052, 0.2112, 0.2556, 0.2856, 0.3654", \
          "0.3798, 0.3798, 0.402, 0.4338, 0.5394");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.025205, 0.02152, 0.006799, 0.007184, 0.058865", \
          "0.024991, 0.022186, 0.008507, 0.005074, 0.055661", \
          "0.024643, 0.022794, 0.010657, 0.002115, 0.050769", \
          "0.024847, 0.023754, 0.015317, 0.005432, 0.036517", \
          "0.024637, 0.02407, 0.018302, 0.010944, 0.023455");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.129942, 0.128505, 0.139221, 0.151344, 0.201205", \
          "0.129007, 0.129143, 0.137979, 0.149512, 0.197738", \
          "0.130109, 0.129464, 0.136986, 0.147122, 0.192639", \
          "0.129762, 0.129999, 0.133531, 0.141899, 0.180073", \
          "0.130143, 0.128216, 0.132427, 0.138908, 0.170323");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.025223, 0.020958, 0.007024, 0.006114, 0.053913", \
          "0.024242, 0.021517, 0.00862, 0.004159, 0.050783", \
          "0.023324, 0.02192, 0.010464, 0.001305, 0.046197", \
          "0.021475, 0.021725, 0.014491, 0.005407, 0.033118", \
          "0.020745, 0.020975, 0.01653, 0.009965, 0.021452");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.098522, 0.098636, 0.110707, 0.123703, 0.171273", \
          "0.097781, 0.098547, 0.109313, 0.121495, 0.167171", \
          "0.098846, 0.098619, 0.107854, 0.118412, 0.1618", \
          "0.09919, 0.09854, 0.104673, 0.112699, 0.148701", \
          "0.09958, 0.098941, 0.102927, 0.10903, 0.138547");
      }
    }
    internal_power() {
      related_pin : "C";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.027552, 0.020566, 0.006692, 0.006538, 0.05257", \
          "0.025623, 0.021375, 0.008487, 0.003916, 0.048747", \
          "0.023652, 0.022761, 0.010481, 0.000852, 0.043534", \
          "0.019502, 0.020434, 0.014151, 0.005826, 0.030195", \
          "0.01708, 0.018356, 0.015231, 0.009413, 0.019481");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.061416, 0.068335, 0.085477, 0.098636, 0.144568", \
          "0.062746, 0.067937, 0.08286, 0.095599, 0.140434", \
          "0.063382, 0.066171, 0.080249, 0.092331, 0.135239", \
          "0.065345, 0.065867, 0.075162, 0.08445, 0.121518", \
          "0.066193, 0.066184, 0.07213, 0.079278, 0.11033");
      }
    }
  }
}

/* ---------------- *
 * Design : OAI21X1 *
 * ---------------- */
cell (OAI21X1) {
area : 23;
  cell_leakage_power : 0.0480948;
  pin(A)  {
    direction : input;
    capacitance : 0.017346;
    rise_capacitance : 0.0170613;
    fall_capacitance : 0.017346;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0182038;
    rise_capacitance : 0.0182038;
    fall_capacitance : 0.0180091;
  }
  pin(C)  {
    direction : input;
    capacitance : 0.0129138;
    rise_capacitance : 0.0129026;
    fall_capacitance : 0.0129138;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.494927;
    function : "(!((A+B) C))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.050325, 0.057085, 0.066352, 0.068086, 0.066582", \
          "0.060667, 0.071919, 0.082473, 0.088237, 0.094215", \
          "0.078659, 0.093795, 0.11004, 0.119249, 0.133857", \
          "0.139451, 0.160094, 0.193758, 0.21236, 0.252028", \
          "0.233183, 0.251846, 0.294996, 0.321324, 0.387541");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.035583, 0.0624, 0.09, 0.111, 0.171", \
          "0.053443, 0.075, 0.1068, 0.1272, 0.1914", \
          "0.066, 0.087, 0.123, 0.1476, 0.2196", \
          "0.1452, 0.153, 0.186, 0.213, 0.2988", \
          "0.2658, 0.2676, 0.2892, 0.3144, 0.4044");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.06636, 0.082462, 0.109861, 0.129336, 0.185817", \
          "0.079896, 0.098822, 0.128611, 0.15018, 0.214932", \
          "0.101528, 0.123397, 0.157357, 0.182618, 0.25519", \
          "0.187502, 0.2091, 0.25695, 0.28718, 0.378424", \
          "0.314294, 0.336292, 0.387248, 0.424793, 0.531463");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.047893, 0.0708, 0.0936, 0.1122, 0.1578", \
          "0.0684, 0.0846, 0.1152, 0.129, 0.1812", \
          "0.0924, 0.1068, 0.1374, 0.1566, 0.2148", \
          "0.2124, 0.2166, 0.2418, 0.2646, 0.3288", \
          "0.3894, 0.3882, 0.4026, 0.4212, 0.4944");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.040373, 0.047321, 0.038756, 0.033316, 0.00663", \
          "0.05186, 0.059625, 0.063447, 0.059755, 0.041286", \
          "0.06988, 0.083375, 0.091961, 0.095018, 0.087812", \
          "0.132425, 0.151768, 0.181549, 0.195974, 0.221793", \
          "0.225913, 0.244307, 0.284934, 0.309451, 0.36621");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.025325, 0.0537, 0.0852, 0.1068, 0.1518", \
          "0.039169, 0.0654, 0.0924, 0.1188, 0.1758", \
          "0.058635, 0.0804, 0.114, 0.135, 0.2028", \
          "0.1344, 0.1458, 0.1788, 0.2064, 0.2916", \
          "0.2556, 0.2574, 0.2808, 0.3048, 0.3972");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.061377, 0.093315, 0.129089, 0.160577, 0.243063", \
          "0.076361, 0.108471, 0.155686, 0.183668, 0.274717", \
          "0.097182, 0.134979, 0.187382, 0.221318, 0.321338", \
          "0.183636, 0.21995, 0.295982, 0.342008, 0.46732", \
          "0.310652, 0.346271, 0.424503, 0.484776, 0.644796");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052219, 0.0798, 0.1026, 0.1104, 0.153", \
          "0.0636, 0.0912, 0.1188, 0.135, 0.1824", \
          "0.0936, 0.1116, 0.1476, 0.1698, 0.2244", \
          "0.2124, 0.2166, 0.2544, 0.2868, 0.363", \
          "0.3894, 0.3888, 0.4068, 0.4338, 0.5382");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.037624, 0.043049, 0.044183, 0.040205, 0.013363", \
          "0.048078, 0.061126, 0.067591, 0.067291, 0.048412", \
          "0.063468, 0.08402, 0.100195, 0.104135, 0.097648", \
          "0.11881, 0.151859, 0.195555, 0.213795, 0.242847", \
          "0.202257, 0.234917, 0.299596, 0.334852, 0.402116");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.033797, 0.0651, 0.0882, 0.1038, 0.1638", \
          "0.044453, 0.0747, 0.1071, 0.1269, 0.1881", \
          "0.059372, 0.0882, 0.1284, 0.1518, 0.2259", \
          "0.1263, 0.1419, 0.1938, 0.2286, 0.3258", \
          "0.234, 0.2373, 0.279, 0.3204, 0.4395");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.048662, 0.078567, 0.117933, 0.144234, 0.227348", \
          "0.06066, 0.098848, 0.144445, 0.176018, 0.269238", \
          "0.083527, 0.125211, 0.183347, 0.219699, 0.324741", \
          "0.169097, 0.211738, 0.298397, 0.350866, 0.490398", \
          "0.297295, 0.338311, 0.427365, 0.49554, 0.680418");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.044344, 0.0792, 0.105, 0.1224, 0.1719", \
          "0.06228, 0.0912, 0.1248, 0.1425, 0.1989", \
          "0.0903, 0.1077, 0.1518, 0.1782, 0.2391", \
          "0.2058, 0.2112, 0.2499, 0.2853, 0.3777", \
          "0.3831, 0.3834, 0.4002, 0.4284, 0.5454");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.018723, 0.014238, 0.001983, 0.018123, 0.07526", \
          "0.018122, 0.014881, 0.000135, 0.015197, 0.070956", \
          "0.017686, 0.015479, 0.002313, 0.011625, 0.064988", \
          "0.016929, 0.015839, 0.007254, 0.003499, 0.048592", \
          "0.016853, 0.016207, 0.010085, 0.002104, 0.034591");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.089044, 0.09085, 0.108868, 0.125145, 0.183339", \
          "0.088461, 0.090928, 0.107231, 0.122356, 0.179741", \
          "0.089179, 0.090498, 0.104539, 0.119015, 0.174668", \
          "0.089631, 0.088873, 0.099997, 0.111464, 0.159659", \
          "0.090342, 0.089451, 0.097192, 0.106057, 0.146696");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.019052, 0.014394, 0.000774, 0.015232, 0.066066", \
          "0.017746, 0.014642, 0.000829, 0.012586, 0.06178", \
          "0.016049, 0.014626, 0.003057, 0.009235, 0.056008", \
          "0.01347, 0.014441, 0.006801, 0.002407, 0.041314", \
          "0.012413, 0.013303, 0.008302, 0.001594, 0.029812");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.066762, 0.072538, 0.090248, 0.104895, 0.15546", \
          "0.065332, 0.07199, 0.088088, 0.10237, 0.15216", \
          "0.066238, 0.070774, 0.085574, 0.098853, 0.147574", \
          "0.06737, 0.068716, 0.07991, 0.091097, 0.13453", \
          "0.068412, 0.068914, 0.076394, 0.085061, 0.12233");
      }
    }
    internal_power() {
      related_pin : "C";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.008486, 0.004525, 0.009596, 0.021217, 0.062131", \
          "0.008129, 0.005131, 0.00757, 0.018451, 0.05811", \
          "0.007702, 0.00548, 0.005134, 0.015205, 0.052773", \
          "0.007117, 0.006209, 0.00069, 0.00793, 0.039352", \
          "0.006723, 0.006292, 0.001795, 0.003483, 0.028537");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.04756, 0.054784, 0.06802, 0.079563, 0.120585", \
          "0.048287, 0.05366, 0.066094, 0.077303, 0.116962", \
          "0.048478, 0.052817, 0.063736, 0.074433, 0.112426", \
          "0.050771, 0.050991, 0.059436, 0.068012, 0.101195", \
          "0.052018, 0.051602, 0.05697, 0.063407, 0.09142");
      }
    }
  }
}

/* ---------------- *
 * Design : OAI22X1 *
 * ---------------- */
cell (OAI22X1) {
area : 40;
  cell_leakage_power : 0.0603119;
  pin(A)  {
    direction : input;
    capacitance : 0.0173495;
    rise_capacitance : 0.0170835;
    fall_capacitance : 0.0173495;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0182258;
    rise_capacitance : 0.0182258;
    fall_capacitance : 0.0180022;
  }
  pin(C)  {
    direction : input;
    capacitance : 0.0179862;
    rise_capacitance : 0.0175055;
    fall_capacitance : 0.0179862;
  }
  pin(D)  {
    direction : input;
    capacitance : 0.0186431;
    rise_capacitance : 0.0186431;
    fall_capacitance : 0.0186325;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.485105;
    function : "(!((A+B) (C+D)))";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.06016, 0.073032, 0.084423, 0.088825, 0.095558", \
          "0.069165, 0.086162, 0.100108, 0.108628, 0.118443", \
          "0.083119, 0.102253, 0.126173, 0.135763, 0.154182", \
          "0.139063, 0.163394, 0.202734, 0.223668, 0.266586", \
          "0.220012, 0.245088, 0.296496, 0.326863, 0.397378");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045128, 0.0705, 0.1002, 0.1218, 0.1881", \
          "0.053045, 0.078, 0.1122, 0.1341, 0.2043", \
          "0.068801, 0.0912, 0.1257, 0.1542, 0.2283", \
          "0.1386, 0.1482, 0.1875, 0.2157, 0.3045", \
          "0.2445, 0.2484, 0.2748, 0.3051, 0.4032");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.077733, 0.095387, 0.125319, 0.146992, 0.211626", \
          "0.090794, 0.111725, 0.14383, 0.167047, 0.236529", \
          "0.11225, 0.13473, 0.171245, 0.19712, 0.273778", \
          "0.198101, 0.220017, 0.268744, 0.299981, 0.394127", \
          "0.32536, 0.346952, 0.397934, 0.436406, 0.545596");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.065334, 0.0852, 0.1182, 0.1323, 0.186", \
          "0.087, 0.1008, 0.1332, 0.1497, 0.2085", \
          "0.1131, 0.1254, 0.1575, 0.1794, 0.2379", \
          "0.2319, 0.2352, 0.2604, 0.2832, 0.3498", \
          "0.4092, 0.4095, 0.4236, 0.4407, 0.5142");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.05151, 0.060465, 0.063048, 0.061274, 0.042453", \
          "0.061943, 0.074237, 0.082147, 0.082626, 0.07071", \
          "0.076815, 0.094316, 0.108959, 0.114803, 0.112485", \
          "0.132159, 0.155919, 0.191293, 0.208379, 0.238377", \
          "0.213665, 0.238067, 0.287659, 0.315888, 0.37701");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.036093, 0.061975, 0.0915, 0.1128, 0.1704", \
          "0.046244, 0.0702, 0.1026, 0.1242, 0.1884", \
          "0.062251, 0.0858, 0.12, 0.1422, 0.2157", \
          "0.1308, 0.1395, 0.1812, 0.2097, 0.2982", \
          "0.2352, 0.2379, 0.2673, 0.2979, 0.396");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.073247, 0.105332, 0.151373, 0.179464, 0.270525", \
          "0.086142, 0.121936, 0.171264, 0.20496, 0.301166", \
          "0.107653, 0.146587, 0.204129, 0.239319, 0.344187", \
          "0.194237, 0.230621, 0.308492, 0.356446, 0.485377", \
          "0.321779, 0.35694, 0.435344, 0.49608, 0.660458");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.067236, 0.0966, 0.1254, 0.138, 0.1899", \
          "0.0852, 0.1068, 0.1431, 0.1599, 0.2142", \
          "0.1128, 0.1293, 0.1713, 0.1941, 0.2514", \
          "0.2313, 0.2352, 0.2721, 0.3045, 0.3867", \
          "0.4098, 0.4092, 0.4254, 0.4539, 0.5586");
      }
    }
    timing() {
      related_pin : "C";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.05398, 0.07243, 0.092176, 0.099839, 0.122773", \
          "0.06352, 0.085993, 0.108984, 0.123743, 0.147693", \
          "0.077727, 0.106334, 0.137729, 0.151751, 0.186886", \
          "0.134309, 0.168377, 0.221736, 0.247548, 0.307417", \
          "0.217388, 0.251301, 0.319304, 0.359668, 0.44986");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.041495, 0.0732, 0.1023, 0.1275, 0.1899", \
          "0.053381, 0.0834, 0.1194, 0.1398, 0.2118", \
          "0.072, 0.0948, 0.1371, 0.1641, 0.2397", \
          "0.1401, 0.1506, 0.2013, 0.2367, 0.3324", \
          "0.2466, 0.2508, 0.2865, 0.3255, 0.4416");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.059449, 0.075272, 0.094237, 0.111085, 0.154366", \
          "0.074351, 0.090094, 0.11758, 0.13541, 0.185901", \
          "0.096161, 0.117012, 0.147609, 0.168548, 0.229845", \
          "0.182886, 0.204011, 0.249368, 0.27744, 0.362175", \
          "0.310322, 0.33117, 0.381313, 0.417547, 0.519562");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.053455, 0.0759, 0.1062, 0.1299, 0.1845", \
          "0.0705, 0.0888, 0.1227, 0.1431, 0.2034", \
          "0.099, 0.1128, 0.147, 0.168, 0.2313", \
          "0.2163, 0.222, 0.2487, 0.2727, 0.3414", \
          "0.3951, 0.3948, 0.4095, 0.4287, 0.5037");
      }
    }
    timing() {
      related_pin : "D";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.04673, 0.058194, 0.06633, 0.069168, 0.063403", \
          "0.055969, 0.073908, 0.089203, 0.093486, 0.094877", \
          "0.0714, 0.096729, 0.118099, 0.128717, 0.140128", \
          "0.12742, 0.160859, 0.20843, 0.23155, 0.275782", \
          "0.211177, 0.244102, 0.310118, 0.347777, 0.427534");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038192, 0.063, 0.0969, 0.1149, 0.1716", \
          "0.04292, 0.0765, 0.1071, 0.1314, 0.1932", \
          "0.064449, 0.0891, 0.1275, 0.1521, 0.228", \
          "0.1317, 0.1422, 0.1959, 0.2277, 0.3231", \
          "0.2385, 0.2415, 0.2787, 0.3186, 0.4344");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.055444, 0.082719, 0.116205, 0.138642, 0.208765", \
          "0.069406, 0.101469, 0.139643, 0.167417, 0.245163", \
          "0.09181, 0.127057, 0.175951, 0.207243, 0.295839", \
          "0.178669, 0.214068, 0.288041, 0.331864, 0.450015", \
          "0.306614, 0.341553, 0.418676, 0.47777, 0.632508");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.05714, 0.0876, 0.1119, 0.1308, 0.183", \
          "0.071635, 0.1014, 0.1317, 0.1494, 0.2067", \
          "0.0996, 0.1194, 0.1596, 0.1815, 0.2433", \
          "0.2166, 0.222, 0.261, 0.2955, 0.3756", \
          "0.3948, 0.3945, 0.414, 0.4416, 0.5484");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.017562, 0.014759, 0.000335, 0.015012, 0.070477", \
          "0.017111, 0.015126, 0.001669, 0.012611, 0.066817", \
          "0.016697, 0.015541, 0.003658, 0.009814, 0.061505", \
          "0.016252, 0.015715, 0.007546, 0.002529, 0.046659", \
          "0.015931, 0.015886, 0.009905, 0.002384, 0.033457");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.112422, 0.113974, 0.13104, 0.146958, 0.205294", \
          "0.112574, 0.114271, 0.12979, 0.144487, 0.201913", \
          "0.113257, 0.114203, 0.127288, 0.141996, 0.19699", \
          "0.113691, 0.112943, 0.123627, 0.135019, 0.182798", \
          "0.114525, 0.113647, 0.121258, 0.130044, 0.170212");
      }
    }
    internal_power() {
      related_pin : "B";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.017144, 0.014619, 0.001271, 0.012193, 0.061306", \
          "0.016197, 0.014525, 0.002611, 0.010221, 0.057711", \
          "0.014629, 0.014265, 0.004191, 0.007549, 0.052747", \
          "0.012586, 0.013349, 0.006915, 0.001708, 0.039693", \
          "0.011452, 0.01241, 0.007994, 0.001671, 0.028757");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.089981, 0.096048, 0.11241, 0.12728, 0.177386", \
          "0.089727, 0.094778, 0.110532, 0.124845, 0.174326", \
          "0.090205, 0.094819, 0.108963, 0.121594, 0.169905", \
          "0.091397, 0.092843, 0.103634, 0.114649, 0.157667", \
          "0.092604, 0.093016, 0.100361, 0.108956, 0.145889");
      }
    }
    internal_power() {
      related_pin : "C";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.017478, 0.012462, 0.004997, 0.020509, 0.075758", \
          "0.017135, 0.012897, 0.003169, 0.017899, 0.072007", \
          "0.016892, 0.013031, 0.000911, 0.01465, 0.066586", \
          "0.016253, 0.014443, 0.005125, 0.005913, 0.051036", \
          "0.015931, 0.015161, 0.008589, 0.000735, 0.03691");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.093156, 0.095361, 0.111723, 0.127152, 0.182382", \
          "0.092831, 0.095022, 0.110357, 0.124792, 0.178611", \
          "0.093798, 0.095787, 0.108621, 0.121669, 0.173221", \
          "0.096133, 0.095927, 0.104496, 0.11501, 0.158922", \
          "0.09738, 0.095435, 0.102503, 0.110385, 0.147241");
      }
    }
    internal_power() {
      related_pin : "D";
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.016831, 0.012249, 0.004293, 0.018126, 0.067473", \
          "0.015778, 0.012371, 0.002509, 0.015742, 0.063722", \
          "0.014726, 0.012727, 0.00071, 0.012528, 0.058456", \
          "0.012623, 0.01242, 0.004521, 0.005026, 0.044403", \
          "0.011431, 0.011595, 0.006595, 0.000886, 0.032474");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.069807, 0.077626, 0.093855, 0.107715, 0.156254", \
          "0.069992, 0.077089, 0.091752, 0.105239, 0.152541", \
          "0.07069, 0.076043, 0.089621, 0.10225, 0.147737", \
          "0.07366, 0.074231, 0.084359, 0.094964, 0.135221", \
          "0.075428, 0.07496, 0.081679, 0.089612, 0.12401");
      }
    }
  }
}

/* -------------- *
 * Design : OR2X1 *
 * -------------- */
cell (OR2X1) {
area : 32;
  cell_leakage_power : 0.0748155;
  pin(A)  {
    direction : input;
    capacitance : 0.0150616;
    rise_capacitance : 0.0150616;
    fall_capacitance : 0.0150113;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0144258;
    rise_capacitance : 0.0139523;
    fall_capacitance : 0.0144258;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.496203;
    function : "(A+B)";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.074088, 0.088543, 0.114376, 0.128922, 0.160855", \
          "0.087117, 0.103311, 0.131779, 0.14954, 0.180326", \
          "0.108726, 0.125541, 0.16074, 0.174611, 0.206457", \
          "0.194003, 0.212138, 0.244354, 0.255317, 0.293178", \
          "0.319717, 0.338201, 0.370455, 0.38497, 0.420931");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.0246, 0.031921, 0.039648, 0.052834, 0.059059", \
          "0.041267, 0.047301, 0.059193, 0.0606, 0.0756", \
          "0.0726, 0.0714, 0.0822, 0.0864, 0.0948", \
          "0.1878, 0.1884, 0.1878, 0.1914, 0.1968", \
          "0.3666, 0.366, 0.3672, 0.3678, 0.3708");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.076098, 0.093906, 0.122996, 0.138911, 0.191344", \
          "0.093089, 0.112754, 0.143254, 0.161889, 0.206502", \
          "0.111772, 0.135006, 0.166691, 0.18567, 0.234", \
          "0.1872, 0.2083, 0.240171, 0.262003, 0.315947", \
          "0.297543, 0.318547, 0.352616, 0.37448, 0.42893");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.027491, 0.035329, 0.047022, 0.053044, 0.0636", \
          "0.044071, 0.051605, 0.05612, 0.059508, 0.069", \
          "0.0672, 0.0672, 0.0756, 0.0786, 0.0888", \
          "0.1506, 0.1542, 0.1578, 0.1572, 0.1644", \
          "0.2916, 0.291, 0.294, 0.2952, 0.2994");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.086234, 0.112975, 0.148468, 0.168584, 0.226102", \
          "0.100057, 0.127593, 0.169077, 0.188679, 0.248868", \
          "0.122236, 0.149125, 0.191451, 0.212179, 0.2719", \
          "0.207921, 0.234475, 0.273261, 0.298511, 0.359211", \
          "0.335749, 0.368066, 0.400532, 0.424288, 0.485293");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.027031, 0.032091, 0.046796, 0.046293, 0.056707", \
          "0.04331, 0.044407, 0.058669, 0.0606, 0.0708", \
          "0.075, 0.075, 0.0858, 0.0876, 0.0888", \
          "0.189, 0.189, 0.1896, 0.1908, 0.195", \
          "0.3654, 0.3666, 0.3666, 0.3678, 0.3696");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.080548, 0.09117, 0.112416, 0.114419, 0.140167", \
          "0.098565, 0.111047, 0.127873, 0.139055, 0.157277", \
          "0.117853, 0.13063, 0.151745, 0.16073, 0.187337", \
          "0.193063, 0.20683, 0.230881, 0.243181, 0.274411", \
          "0.303476, 0.324185, 0.34253, 0.35438, 0.389078");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.033557, 0.03517, 0.050033, 0.053557, 0.0636", \
          "0.042412, 0.052454, 0.0648, 0.066, 0.0714", \
          "0.0678, 0.0636, 0.0744, 0.0816, 0.0924", \
          "0.1506, 0.1536, 0.1554, 0.1572, 0.1692", \
          "0.2916, 0.2916, 0.2928, 0.2928, 0.3012");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.004755, 0.008056, 0.024782, 0.03847, 0.084138", \
          "0.005505, 0.007831, 0.024786, 0.03784, 0.082816", \
          "0.005661, 0.008241, 0.024988, 0.037645, 0.081888", \
          "0.006986, 0.011904, 0.024903, 0.037263, 0.080331", \
          "0.007316, 0.012522, 0.025505, 0.038129, 0.079708");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.062057, 0.066892, 0.084137, 0.097042, 0.142031", \
          "0.063442, 0.069887, 0.08367, 0.097934, 0.140457", \
          "0.06445, 0.070032, 0.08388, 0.097493, 0.139831", \
          "0.065119, 0.071216, 0.085353, 0.097511, 0.138904", \
          "0.065286, 0.071412, 0.085769, 0.097685, 0.138986");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.004733, 0.01101, 0.026233, 0.039317, 0.088493", \
          "0.005232, 0.010867, 0.0258, 0.038812, 0.086891", \
          "0.005494, 0.010867, 0.02575, 0.038564, 0.08606", \
          "0.006589, 0.011051, 0.02548, 0.038324, 0.084742", \
          "0.006416, 0.011798, 0.026405, 0.038696, 0.084448");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.08415, 0.087001, 0.103508, 0.116397, 0.164914", \
          "0.086183, 0.088562, 0.103184, 0.1157, 0.163291", \
          "0.08758, 0.089603, 0.102913, 0.115221, 0.162843", \
          "0.088158, 0.090514, 0.103925, 0.115995, 0.162004", \
          "0.088394, 0.090653, 0.104301, 0.116544, 0.162066");
      }
    }
  }
}

/* -------------- *
 * Design : OR2X2 *
 * -------------- */
cell (OR2X2) {
area : 32;
  cell_leakage_power : 0.0895797;
  pin(A)  {
    direction : input;
    capacitance : 0.015065;
    rise_capacitance : 0.015065;
    fall_capacitance : 0.0150152;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0143643;
    rise_capacitance : 0.0139823;
    fall_capacitance : 0.0143643;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.966451;
    function : "(A+B)";
    timing() {
      related_pin : "A";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.092748, 0.11534, 0.147044, 0.170377, 0.209236", \
          "0.105163, 0.131964, 0.168501, 0.188932, 0.229679", \
          "0.127873, 0.154473, 0.192015, 0.212224, 0.256945", \
          "0.215635, 0.243019, 0.279405, 0.299185, 0.347166", \
          "0.348599, 0.377045, 0.40953, 0.42806, 0.47578");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.036098, 0.03661, 0.052655, 0.055718, 0.0708", \
          "0.048273, 0.050006, 0.0636, 0.0732, 0.078", \
          "0.0774, 0.078, 0.0906, 0.0918, 0.1062", \
          "0.195, 0.1932, 0.1968, 0.1986, 0.2046", \
          "0.3774, 0.378, 0.3792, 0.3792, 0.3822");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.094395, 0.121405, 0.162844, 0.183048, 0.241838", \
          "0.110629, 0.139466, 0.179953, 0.200199, 0.259153", \
          "0.134446, 0.165239, 0.203714, 0.225755, 0.288823", \
          "0.217269, 0.247281, 0.287395, 0.311905, 0.375816", \
          "0.337989, 0.369425, 0.408627, 0.431979, 0.495641");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.03261, 0.036977, 0.054118, 0.0648, 0.0684", \
          "0.055949, 0.04937, 0.0696, 0.066, 0.0816", \
          "0.075, 0.0768, 0.0864, 0.0852, 0.0942", \
          "0.1668, 0.1662, 0.1716, 0.1734, 0.1794", \
          "0.3156, 0.315, 0.3186, 0.3192, 0.3222");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : positive_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.100325, 0.136854, 0.175223, 0.201311, 0.270082", \
          "0.116601, 0.155024, 0.196406, 0.222548, 0.290586", \
          "0.14118, 0.178808, 0.219855, 0.246222, 0.315043", \
          "0.228893, 0.262516, 0.308898, 0.333366, 0.403605", \
          "0.361227, 0.39236, 0.438202, 0.461073, 0.532183");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.042962, 0.04223, 0.05303, 0.056197, 0.0606", \
          "0.055203, 0.0612, 0.063, 0.0654, 0.0786", \
          "0.0804, 0.084, 0.09, 0.0924, 0.1008", \
          "0.1956, 0.1962, 0.1968, 0.1974, 0.2022", \
          "0.378, 0.3774, 0.378, 0.3798, 0.381");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.099191, 0.112322, 0.139636, 0.148957, 0.184156", \
          "0.11846, 0.134406, 0.157571, 0.171043, 0.202547", \
          "0.139498, 0.158523, 0.181649, 0.196023, 0.233489", \
          "0.223423, 0.241205, 0.266009, 0.284006, 0.325223", \
          "0.342801, 0.360178, 0.387822, 0.403561, 0.446859");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045354, 0.034645, 0.05259, 0.063, 0.069", \
          "0.050227, 0.054125, 0.0684, 0.0678, 0.0792", \
          "0.0738, 0.0744, 0.0804, 0.0852, 0.0942", \
          "0.165, 0.1674, 0.168, 0.1734, 0.183", \
          "0.315, 0.3162, 0.3162, 0.3186, 0.324");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.028268, 0.036539, 0.051709, 0.065795, 0.112807", \
          "0.029479, 0.035527, 0.05, 0.063866, 0.108982", \
          "0.030782, 0.035705, 0.049051, 0.062111, 0.106378", \
          "0.032939, 0.035902, 0.048567, 0.059235, 0.1018", \
          "0.03234, 0.036435, 0.048527, 0.059887, 0.101074");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.082522, 0.094224, 0.109379, 0.120218, 0.16859", \
          "0.084899, 0.090599, 0.107506, 0.116691, 0.16386", \
          "0.085614, 0.091836, 0.105569, 0.115473, 0.160612", \
          "0.088428, 0.093183, 0.105805, 0.117227, 0.157955", \
          "0.087152, 0.093443, 0.106217, 0.117485, 0.157884");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.026845, 0.035611, 0.05086, 0.066854, 0.118216", \
          "0.027091, 0.035137, 0.049317, 0.064078, 0.114832", \
          "0.028048, 0.034239, 0.048794, 0.063426, 0.111912", \
          "0.030188, 0.034382, 0.048649, 0.061691, 0.10665", \
          "0.031509, 0.035609, 0.049233, 0.06168, 0.105996");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.01, 0.025, 0.05, 0.15, 0.3");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.101072, 0.099311, 0.124491, 0.138346, 0.190263", \
          "0.106213, 0.105045, 0.123271, 0.135463, 0.185861", \
          "0.108396, 0.107939, 0.124352, 0.134467, 0.182935", \
          "0.109445, 0.113301, 0.124705, 0.136106, 0.180962", \
          "0.110309, 0.113879, 0.124997, 0.136365, 0.180642");
      }
    }
  }
}

/* --------------- *
 * Design : TBUFX1 *
 * --------------- */
cell (TBUFX1) {
area : 40;
  cell_leakage_power : 0.0466889;
  pin(A)  {
    direction : input;
    capacitance : 0.0173531;
    rise_capacitance : 0.0170972;
    fall_capacitance : 0.0173531;
  }
  pin(EN)  {
    direction : input;
    capacitance : 0.0137604;
    rise_capacitance : 0.0135189;
    fall_capacitance : 0.0137604;
    internal_power() {
      rise_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0, 0, 0, 0, 0");
      }
      fall_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.031447, 0.037009, 0.050629, 0.060911, 0.096281");
      }
    }
  }
  pin(Y)  {
    direction : output;
    capacitance : 0.00453706;
    rise_capacitance : 0.0045197;
    fall_capacitance : 0.00453706;
    max_capacitance : 0.498495;
    function : "(!A)";
    three_state : "(!EN)";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.00953706, 0.0170371, 0.0295371, 0.0795371, 0.154537");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.043176, 0.05518, 0.060921, 0.062454, 0.060269", \
          "0.054804, 0.067387, 0.077411, 0.084234, 0.086866", \
          "0.072569, 0.089938, 0.106777, 0.113667, 0.126816", \
          "0.134726, 0.15668, 0.18973, 0.207478, 0.247926", \
          "0.227061, 0.249623, 0.291187, 0.317493, 0.383277");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.00953706, 0.0170371, 0.0295371, 0.0795371, 0.154537");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.033122, 0.063, 0.0888, 0.1068, 0.1638", \
          "0.047344, 0.0732, 0.105, 0.1236, 0.1866", \
          "0.0642, 0.0864, 0.1194, 0.1416, 0.2148", \
          "0.1434, 0.1506, 0.1854, 0.2118, 0.2988", \
          "0.2634, 0.2658, 0.288, 0.3138, 0.402");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.0095197, 0.0170197, 0.0295197, 0.0795197, 0.15452");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.062271, 0.077788, 0.100334, 0.118909, 0.175323", \
          "0.07723, 0.093371, 0.122319, 0.143131, 0.204215", \
          "0.099178, 0.119908, 0.152326, 0.175597, 0.245967", \
          "0.185036, 0.205418, 0.252499, 0.28202, 0.37234", \
          "0.311685, 0.332857, 0.383618, 0.420732, 0.526388");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.0095197, 0.0170197, 0.0295197, 0.0795197, 0.15452");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045342, 0.0618, 0.0894, 0.1098, 0.1506", \
          "0.058523, 0.081, 0.1062, 0.1212, 0.1752", \
          "0.0924, 0.1056, 0.1338, 0.1518, 0.207", \
          "0.2082, 0.2124, 0.2376, 0.261, 0.3246", \
          "0.3846, 0.384, 0.399, 0.4182, 0.489");
      }
    }
    timing() {
      related_pin : "EN";
      timing_sense : positive_unate;
      timing_type : three_state_enable;
      cell_rise(delay_template_5x5) {
        index_1 ("0.0095197, 0.0170197, 0.0295197, 0.0795197, 0.15452");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.064314, 0.075634, 0.088454, 0.091437, 0.095397", \
          "0.077397, 0.090966, 0.107025, 0.113114, 0.117077", \
          "0.099421, 0.119163, 0.132762, 0.137814, 0.147518", \
          "0.185263, 0.202177, 0.218933, 0.22496, 0.236135", \
          "0.311767, 0.327156, 0.34382, 0.351651, 0.363551");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.0095197, 0.0170197, 0.0295197, 0.0795197, 0.15452");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.050547, 0.048832, 0.05962, 0.0624, 0.0828", \
          "0.0606, 0.0612, 0.0684, 0.0732, 0.093", \
          "0.0888, 0.0924, 0.0978, 0.0966, 0.111", \
          "0.2076, 0.2046, 0.2004, 0.2028, 0.2094", \
          "0.3846, 0.3846, 0.3798, 0.3792, 0.381");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.00953706, 0.0170371, 0.0295371, 0.0795371, 0.154537");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.021064, 0.015498, -0.019901, -0.055757, -0.191401", \
          "0.032761, 0.034951, 0.012881, -0.013632, -0.126721", \
          "0.049862, 0.060812, 0.053914, 0.036454, -0.04865", \
          "0.108674, 0.137861, 0.169017, 0.174161, 0.1442", \
          "0.199976, 0.230503, 0.291584, 0.319131, 0.349211");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.00953706, 0.0170371, 0.0295371, 0.0795371, 0.154537");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.022631, 0.054736, 0.0756, 0.0906, 0.1446", \
          "0.03673, 0.0714, 0.0888, 0.114, 0.1746", \
          "0.053948, 0.0852, 0.12, 0.141, 0.2142", \
          "0.1374, 0.1566, 0.2124, 0.2478, 0.3432", \
          "0.2634, 0.2694, 0.3186, 0.366, 0.4902");
      }
    }
    timing() {
      related_pin : "EN";
      timing_type : three_state_disable;
      timing_sense : negative_unate;
      cell_rise(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.044417, 0.074028, 0.13325, 0.177667, 0.325722");
      }
      rise_transition(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.044417, 0.074028, 0.13325, 0.177667, 0.325722");
      }
      cell_fall(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.058908, 0.097486, 0.140526, 0.16786, 0.242557");
      }
      fall_transition(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.058908, 0.097486, 0.140526, 0.16786, 0.242557");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.00953706, 0.0170371, 0.0295371, 0.0795371, 0.154537");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.019351, 0.014825, 0.003997, 0.020433, 0.078322", \
          "0.018837, 0.015273, 0.001933, 0.017405, 0.07378", \
          "0.018469, 0.014849, 0.000845, 0.013604, 0.067528", \
          "0.017526, 0.016039, 0.006211, 0.004735, 0.050506", \
          "0.017053, 0.016587, 0.009417, 0.001248, 0.036027");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.0095197, 0.0170197, 0.0295197, 0.0795197, 0.15452");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.081639, 0.083922, 0.101537, 0.118189, 0.176864", \
          "0.080072, 0.083431, 0.099818, 0.115188, 0.172995", \
          "0.081234, 0.082681, 0.097459, 0.111718, 0.167725", \
          "0.081747, 0.081121, 0.092339, 0.103912, 0.152468", \
          "0.082336, 0.081605, 0.089401, 0.098251, 0.139201");
      }
    }
    internal_power() {
      related_pin : "EN";
      rise_power(energy_template_5x5) {
        index_1 ("0.0095197, 0.0170197, 0.0295197, 0.0795197, 0.15452");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.028687, 0.030603, 0.045048, 0.054651, 0.090733", \
          "0.028319, 0.03161, 0.045186, 0.055485, 0.090639", \
          "0.028929, 0.033082, 0.045696, 0.055971, 0.09119", \
          "0.029286, 0.033243, 0.045698, 0.056076, 0.091671", \
          "0.029608, 0.033829, 0.046152, 0.056419, 0.091818");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.00953706, 0.0170371, 0.0295371, 0.0795371, 0.154537");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.00698, 0.000216, 0.014399, 0.025998, 0.064783", \
          "0.00622, 0.001328, 0.012957, 0.024394, 0.06269", \
          "0.006376, 0.001583, 0.012128, 0.023177, 0.060675", \
          "0.006415, 0.001927, 0.011265, 0.022, 0.058368", \
          "0.006522, 0.00224, 0.0112, 0.021529, 0.057516");
      }
    }
  }
}

/* --------------- *
 * Design : TBUFX2 *
 * --------------- */
cell (TBUFX2) {
area : 56;
  cell_leakage_power : 0.0853032;
  pin(A)  {
    direction : input;
    capacitance : 0.0347058;
    rise_capacitance : 0.0341954;
    fall_capacitance : 0.0347058;
  }
  pin(EN)  {
    direction : input;
    capacitance : 0.0275005;
    rise_capacitance : 0.027043;
    fall_capacitance : 0.0275005;
    internal_power() {
      rise_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0, 0, 0, 0, 0");
      }
      fall_power(passive_energy_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.062739, 0.073294, 0.098928, 0.119047, 0.186594");
      }
    }
  }
  pin(Y)  {
    direction : output;
    capacitance : 0.00906655;
    rise_capacitance : 0.00901605;
    fall_capacitance : 0.00906655;
    max_capacitance : 0.997443;
    function : "(!A)";
    three_state : "(!EN)";
    timing() {
      related_pin : "A";
      timing_sense : negative_unate;
      cell_fall(delay_template_5x5) {
        index_1 ("0.0190665, 0.0340666, 0.0590665, 0.159067, 0.309067");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.04457, 0.055083, 0.060858, 0.062407, 0.060244", \
          "0.054697, 0.06733, 0.077377, 0.084191, 0.086853", \
          "0.072464, 0.089869, 0.106729, 0.113639, 0.126801", \
          "0.134688, 0.156645, 0.189702, 0.207454, 0.247911", \
          "0.22704, 0.249605, 0.29117, 0.317427, 0.383264");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.0190665, 0.0340666, 0.0590665, 0.159067, 0.309067");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.033796, 0.0636, 0.0888, 0.1074, 0.1638", \
          "0.0474, 0.0732, 0.1056, 0.1236, 0.1866", \
          "0.0648, 0.0864, 0.12, 0.1416, 0.2148", \
          "0.1434, 0.1512, 0.1854, 0.2118, 0.2988", \
          "0.2634, 0.2658, 0.288, 0.3138, 0.402");
      }
      cell_rise(delay_template_5x5) {
        index_1 ("0.019016, 0.034016, 0.0590161, 0.159016, 0.309016");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.06247, 0.077821, 0.100341, 0.118895, 0.175315", \
          "0.078889, 0.093447, 0.122337, 0.14314, 0.204216", \
          "0.099451, 0.119999, 0.152375, 0.175636, 0.245983", \
          "0.18532, 0.20559, 0.25259, 0.282085, 0.372382", \
          "0.311985, 0.333031, 0.38374, 0.420831, 0.526453");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.019016, 0.034016, 0.0590161, 0.159016, 0.309016");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.045431, 0.0618, 0.0894, 0.1098, 0.1506", \
          "0.059153, 0.081, 0.1062, 0.1212, 0.1746", \
          "0.0924, 0.1056, 0.1338, 0.1518, 0.207", \
          "0.2082, 0.2124, 0.2376, 0.261, 0.3246", \
          "0.3852, 0.384, 0.399, 0.4182, 0.4896");
      }
    }
    timing() {
      related_pin : "EN";
      timing_sense : positive_unate;
      timing_type : three_state_enable;
      cell_rise(delay_template_5x5) {
        index_1 ("0.019016, 0.034016, 0.0590161, 0.159016, 0.309016");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.066588, 0.080398, 0.094432, 0.100823, 0.106736", \
          "0.079877, 0.097954, 0.1125, 0.120284, 0.13082", \
          "0.102207, 0.119803, 0.137962, 0.147594, 0.158875", \
          "0.187132, 0.203404, 0.222751, 0.232505, 0.249202", \
          "0.313694, 0.330805, 0.349255, 0.358947, 0.376056");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.019016, 0.034016, 0.0590161, 0.159016, 0.309016");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052406, 0.050364, 0.05533, 0.058774, 0.084", \
          "0.063, 0.0708, 0.0714, 0.075, 0.0906", \
          "0.0882, 0.0876, 0.0948, 0.099, 0.1134", \
          "0.2076, 0.2052, 0.2016, 0.2034, 0.2076", \
          "0.3846, 0.3846, 0.3804, 0.3798, 0.381");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.0190665, 0.0340666, 0.0590665, 0.159067, 0.309067");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.021354, 0.015834, -0.019419, -0.055411, -0.191188", \
          "0.033098, 0.035485, 0.013371, -0.013026, -0.126362", \
          "0.050079, 0.061022, 0.054814, 0.037301, -0.047837", \
          "0.108148, 0.138809, 0.169548, 0.174168, 0.14517", \
          "0.200483, 0.229963, 0.29106, 0.319072, 0.349126");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.0190665, 0.0340666, 0.0590665, 0.159067, 0.309067");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.022651, 0.054683, 0.0762, 0.0912, 0.1446", \
          "0.036458, 0.0714, 0.0888, 0.1146, 0.1752", \
          "0.053472, 0.0846, 0.1194, 0.141, 0.2148", \
          "0.1362, 0.1566, 0.2112, 0.2466, 0.3426", \
          "0.2634, 0.2694, 0.318, 0.3648, 0.4872");
      }
    }
    timing() {
      related_pin : "EN";
      timing_type : three_state_disable;
      timing_sense : negative_unate;
      cell_rise(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.044417, 0.074028, 0.13325, 0.177667, 0.325722");
      }
      rise_transition(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.044417, 0.074028, 0.13325, 0.177667, 0.325722");
      }
      cell_fall(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.059734, 0.09796, 0.140369, 0.166485, 0.239306");
      }
      fall_transition(delay_template_5x1) {
        index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ("0.059734, 0.09796, 0.140369, 0.166485, 0.239306");
      }
    }
    internal_power() {
      related_pin : "A";
      fall_power(energy_template_5x5) {
        index_1 ("0.0190665, 0.0340666, 0.0590665, 0.159067, 0.309067");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038244, 0.029621, 0.008064, 0.040933, 0.156704", \
          "0.037693, 0.030513, 0.003916, 0.034866, 0.147679", \
          "0.036945, 0.02967, 0.001652, 0.02725, 0.135151", \
          "0.035059, 0.032067, 0.012407, 0.009487, 0.101033", \
          "0.034108, 0.033171, 0.018826, 0.002481, 0.072067");
      }
      rise_power(energy_template_5x5) {
        index_1 ("0.019016, 0.034016, 0.0590161, 0.159016, 0.309016");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.163232, 0.167827, 0.20305, 0.236356, 0.353708", \
          "0.160526, 0.166881, 0.199619, 0.230353, 0.345985", \
          "0.162813, 0.165372, 0.1949, 0.223452, 0.335436", \
          "0.163482, 0.162264, 0.184678, 0.207814, 0.304926", \
          "0.164667, 0.16323, 0.178799, 0.1965, 0.278394");
      }
    }
    internal_power() {
      related_pin : "EN";
      rise_power(energy_template_5x5) {
        index_1 ("0.019016, 0.034016, 0.0590161, 0.159016, 0.309016");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.056886, 0.060621, 0.088211, 0.105801, 0.173874", \
          "0.057098, 0.06319, 0.088306, 0.107701, 0.1749", \
          "0.058831, 0.065433, 0.088894, 0.107365, 0.175218", \
          "0.058212, 0.065873, 0.088645, 0.109154, 0.176158", \
          "0.05872, 0.066891, 0.089925, 0.109705, 0.176717");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.0190665, 0.0340666, 0.0590665, 0.159067, 0.309067");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.014255, 0.000418, 0.026879, 0.049231, 0.123502", \
          "0.012904, 0.003527, 0.023934, 0.04587, 0.119437", \
          "0.013059, 0.004035, 0.022247, 0.043362, 0.115328", \
          "0.013488, 0.004551, 0.020922, 0.040849, 0.110477", \
          "0.013268, 0.005206, 0.020131, 0.040127, 0.108755");
      }
    }
  }
}

/* ---------------- *
 * Design : XNOR2X1 *
 * ---------------- */
cell (XNOR2X1) {
area : 56;
  cell_leakage_power : 0.160592;
  pin(A)  {
    direction : input;
    capacitance : 0.0296656;
    rise_capacitance : 0.0296531;
    fall_capacitance : 0.0296656;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0342715;
    rise_capacitance : 0.0339946;
    fall_capacitance : 0.0342715;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.484641;
    function : "(!(A^B))";
    timing() {
      related_pin : "A";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.084544, 0.100187, 0.114213, 0.123541, 0.136185", \
          "0.097758, 0.113674, 0.126363, 0.138852, 0.150601", \
          "0.119347, 0.133769, 0.150698, 0.160444, 0.175328", \
          "0.200286, 0.209259, 0.234451, 0.245612, 0.260619", \
          "0.324789, 0.342562, 0.359971, 0.370257, 0.387423");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052523, 0.057076, 0.053423, 0.0618, 0.0738", \
          "0.0714, 0.069, 0.0708, 0.081, 0.0828", \
          "0.102, 0.099, 0.0972, 0.1014, 0.1062", \
          "0.2178, 0.2148, 0.207, 0.2094, 0.213", \
          "0.3948, 0.3954, 0.3894, 0.387, 0.3894");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.080598, 0.104814, 0.14407, 0.16646, 0.230823", \
          "0.090007, 0.114398, 0.158715, 0.18125, 0.244904", \
          "0.105009, 0.129684, 0.174764, 0.197639, 0.261251", \
          "0.164452, 0.191059, 0.235757, 0.25945, 0.326304", \
          "0.254746, 0.281259, 0.324243, 0.349894, 0.419368");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.04529, 0.040774, 0.050768, 0.044716, 0.0696", \
          "0.053465, 0.052244, 0.0624, 0.063, 0.0738", \
          "0.0756, 0.069, 0.0774, 0.0792, 0.084", \
          "0.1512, 0.1512, 0.1482, 0.1488, 0.1536", \
          "0.2724, 0.273, 0.2682, 0.2652, 0.27");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.10043, 0.112224, 0.127373, 0.134943, 0.151", \
          "0.114693, 0.125678, 0.141086, 0.148733, 0.165698", \
          "0.134581, 0.147375, 0.163947, 0.172141, 0.187238", \
          "0.219625, 0.233512, 0.248511, 0.256184, 0.272455", \
          "0.34583, 0.360056, 0.375552, 0.389966, 0.399734");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.057964, 0.053126, 0.056893, 0.057661, 0.0684", \
          "0.0702, 0.0684, 0.0708, 0.075, 0.084", \
          "0.0996, 0.0978, 0.1014, 0.1038, 0.111", \
          "0.2184, 0.2184, 0.2172, 0.219, 0.2214", \
          "0.3948, 0.3954, 0.3948, 0.3954, 0.3966");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.088851, 0.113426, 0.147155, 0.170376, 0.234997", \
          "0.099159, 0.123811, 0.160163, 0.180288, 0.246878", \
          "0.11593, 0.140664, 0.175175, 0.198865, 0.265918", \
          "0.178962, 0.203622, 0.239327, 0.262263, 0.328548", \
          "0.270984, 0.295933, 0.331436, 0.354428, 0.421444");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038498, 0.040763, 0.053891, 0.049019, 0.0624", \
          "0.051011, 0.050726, 0.0624, 0.059128, 0.0684", \
          "0.0708, 0.0738, 0.0786, 0.078, 0.0876", \
          "0.15, 0.1524, 0.1512, 0.1536, 0.1566", \
          "0.2712, 0.2712, 0.2718, 0.2706, 0.273");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.04347, 0.047419, 0.069645, 0.092194, 0.168622", \
          "0.043836, 0.046995, 0.070428, 0.091803, 0.165958", \
          "0.042241, 0.046473, 0.070214, 0.091468, 0.162393", \
          "0.039645, 0.047232, 0.070839, 0.092026, 0.158857", \
          "0.037719, 0.046566, 0.071058, 0.091224, 0.158921");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.109542, 0.118976, 0.14587, 0.165122, 0.23287", \
          "0.108958, 0.118223, 0.145165, 0.165146, 0.232197", \
          "0.108499, 0.117602, 0.144445, 0.164886, 0.231277", \
          "0.103556, 0.114346, 0.142765, 0.163112, 0.230403", \
          "0.101638, 0.111971, 0.14061, 0.160075, 0.229342");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.051682, 0.059125, 0.082205, 0.101964, 0.173332", \
          "0.050197, 0.059498, 0.08273, 0.102347, 0.172834", \
          "0.050515, 0.060544, 0.082443, 0.101904, 0.172822", \
          "0.050393, 0.061573, 0.083208, 0.102791, 0.171525", \
          "0.050581, 0.062061, 0.083892, 0.102759, 0.171009");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.110748, 0.120302, 0.144257, 0.164108, 0.234096", \
          "0.111537, 0.120649, 0.14374, 0.164163, 0.233653", \
          "0.11211, 0.121157, 0.144867, 0.163574, 0.233201", \
          "0.112552, 0.122391, 0.145428, 0.164597, 0.232813", \
          "0.112929, 0.122933, 0.146023, 0.165021, 0.23239");
      }
    }
  }
}

/* --------------- *
 * Design : XOR2X1 *
 * --------------- */
cell (XOR2X1) {
area : 56;
  cell_leakage_power : 0.161354;
  pin(A)  {
    direction : input;
    capacitance : 0.0296528;
    rise_capacitance : 0.029651;
    fall_capacitance : 0.0296528;
  }
  pin(B)  {
    direction : input;
    capacitance : 0.0342661;
    rise_capacitance : 0.0339918;
    fall_capacitance : 0.0342661;
  }
  pin(Y)  {
    direction : output;
    capacitance : 0;
    rise_capacitance : 0;
    fall_capacitance : 0;
    max_capacitance : 0.484395;
    function : "(A^B)";
    timing() {
      related_pin : "A";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.084668, 0.100252, 0.11425, 0.123569, 0.136197", \
          "0.097915, 0.113723, 0.126398, 0.138879, 0.150616", \
          "0.119426, 0.133803, 0.150727, 0.160469, 0.175347", \
          "0.200291, 0.21109, 0.234434, 0.245604, 0.260628", \
          "0.324762, 0.343132, 0.359931, 0.370218, 0.387403");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.052475, 0.0571, 0.053443, 0.0618, 0.0738", \
          "0.0714, 0.069, 0.0708, 0.081, 0.0828", \
          "0.102, 0.0984, 0.0972, 0.1014, 0.1062", \
          "0.2178, 0.2148, 0.2064, 0.2094, 0.213", \
          "0.3942, 0.3948, 0.3894, 0.387, 0.3894");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.080217, 0.104741, 0.14405, 0.166439, 0.230805", \
          "0.089887, 0.114359, 0.158704, 0.181241, 0.244897", \
          "0.104894, 0.129666, 0.174768, 0.197644, 0.261257", \
          "0.164496, 0.19114, 0.235815, 0.259502, 0.326338", \
          "0.254884, 0.281399, 0.324471, 0.350019, 0.419374");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.041331, 0.040781, 0.050767, 0.044749, 0.0696", \
          "0.053453, 0.052285, 0.0624, 0.063, 0.0738", \
          "0.0756, 0.069, 0.078, 0.0792, 0.084", \
          "0.1518, 0.1512, 0.1482, 0.1488, 0.1536", \
          "0.273, 0.273, 0.2682, 0.2652, 0.27");
      }
    }
    timing() {
      related_pin : "B";
      timing_sense : non_unate;
      cell_rise(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.095856, 0.109639, 0.124914, 0.132649, 0.149393", \
          "0.112134, 0.122918, 0.138721, 0.14656, 0.164175", \
          "0.132565, 0.144856, 0.161456, 0.170028, 0.185654", \
          "0.217554, 0.231394, 0.246536, 0.255419, 0.27072", \
          "0.343798, 0.357936, 0.373613, 0.388316, 0.398061");
      }
      rise_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.058266, 0.053422, 0.056738, 0.058408, 0.0684", \
          "0.0696, 0.0684, 0.0714, 0.0756, 0.0846", \
          "0.0996, 0.0984, 0.1008, 0.1026, 0.111", \
          "0.2178, 0.2184, 0.216, 0.2184, 0.2208", \
          "0.3942, 0.3942, 0.3942, 0.3942, 0.3954");
      }
      cell_fall(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.090864, 0.115106, 0.148564, 0.176005, 0.236451", \
          "0.101631, 0.126046, 0.162396, 0.186432, 0.247857", \
          "0.118398, 0.142704, 0.177128, 0.20129, 0.267362", \
          "0.181148, 0.206, 0.241266, 0.265038, 0.330296", \
          "0.273354, 0.298267, 0.333521, 0.3571, 0.42352");
      }
      fall_transition(delay_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.038733, 0.04056, 0.054628, 0.057339, 0.0624", \
          "0.051463, 0.051355, 0.063, 0.0618, 0.0684", \
          "0.0732, 0.0744, 0.0792, 0.0774, 0.0882", \
          "0.1524, 0.1542, 0.1518, 0.1542, 0.1584", \
          "0.2724, 0.2724, 0.2736, 0.2724, 0.2748");
      }
    }
    internal_power() {
      related_pin : "A";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.039147, 0.043066, 0.065269, 0.087649, 0.161009", \
          "0.039465, 0.042689, 0.06602, 0.087383, 0.159416", \
          "0.037848, 0.042114, 0.065867, 0.087082, 0.157005", \
          "0.035203, 0.043327, 0.066417, 0.087567, 0.154421", \
          "0.033256, 0.041973, 0.066668, 0.086833, 0.154458");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.115486, 0.124065, 0.150891, 0.17016, 0.238191", \
          "0.11447, 0.12322, 0.150245, 0.170238, 0.237468", \
          "0.113772, 0.122815, 0.149439, 0.170003, 0.236493", \
          "0.108866, 0.119919, 0.148098, 0.168247, 0.235659", \
          "0.107123, 0.117629, 0.146091, 0.165491, 0.234547");
      }
    }
    internal_power() {
      related_pin : "B";
      rise_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.026559, 0.03559, 0.058419, 0.078185, 0.149262", \
          "0.025608, 0.036149, 0.058793, 0.078541, 0.148897", \
          "0.026126, 0.037049, 0.058739, 0.078407, 0.148412", \
          "0.026155, 0.037809, 0.059428, 0.078443, 0.14767", \
          "0.026354, 0.038386, 0.060015, 0.078495, 0.146955");
      }
      fall_power(energy_template_5x5) {
        index_1 ("0.005, 0.0125, 0.025, 0.075, 0.15");
        index_2 ("0.06, 0.18, 0.42, 0.6, 1.2");
        values ( \
          "0.135123, 0.144361, 0.167778, 0.18777, 0.258031", \
          "0.135422, 0.144299, 0.167404, 0.187571, 0.257476", \
          "0.135526, 0.145303, 0.167795, 0.187325, 0.256994", \
          "0.135659, 0.146275, 0.168727, 0.18804, 0.256332", \
          "0.135952, 0.146808, 0.169391, 0.1885, 0.255797");
      }
    }
  }
}

}